Guest User

Untitled

a guest
Jan 7th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #define N 100
  3.  
  4. void swap(int *xp, int *yp)
  5. {
  6. int temp =*xp;
  7. *xp=*yp;
  8. *yp=temp;
  9. }
  10.  
  11. void printarray(int a[],int size)
  12. {
  13. for(int i=0;i<size;i++)
  14. printf("%d ",a[i]);
  15. }
  16. }
  17.  
  18. void bubblesort(int list[], int n)
  19. {
  20. int c,d;
  21. for(c=0;c<(n-1);c++)
  22. {
  23. for(d=0;d<n-c-1;d++)
  24. {
  25. if(list[d]>list[d+1])
  26. {
  27. swap(&list[d],&list[d+1]);
  28. }
  29. }
  30. }
  31. }
  32. int main()
  33. {
  34. int arr1[N],arr2[N],arr3[N],arr4[N];
  35. int opciq,razmer1=0,razmer2=0,razmer3=0,razmer4=0;
  36. FILE *f;
  37. printf("Izberete:\n1.Nov masiv\n2.Masiv ot fail\n");
  38. scanf("%d",&opciq);
  39. switch(opciq)
  40. {
  41. case 1: //ako e napisal 1
  42. printf("Razmer na masiva: ");
  43. scanf("%d",&razmer1);
  44. for(int i=0;i<razmer1;i++)
  45. {
  46. scanf("%d",&arr1[i]);
  47. }
  48. break;
  49. case 2: //ako e napisal 2
  50. f=fopen("masiv.txt","r"); //otwarqme faila masiv.txt w rejim chetene (r)
  51. if(f==0)
  52. {
  53. printf("\nNe moje da se otvori failut.\n");
  54. system("pause");
  55. return 0;
  56. }
  57. while(fscanf(f,"%d",&arr1[razmer1++])!=EOF);
  58. razmer1--;
  59. fclose(f); //zatwarqme faila f;
  60. break;
  61. default: // ako e napisal nsh drugo
  62. printf("Nevaliden izbor");
  63. system ("pause");
  64. return 0;
  65. case 3:
  66. String fail;
  67. printf("mestopolozhenieto na fai?la: ");
  68. scanf("%s", &fail);
  69. f=fopen(fail, "r");
  70. if(f==0)
  71. {
  72. printf("\nNe moje da se otvori failut.\n");
  73. system ("pause");
  74. return 0;
  75. }
  76. while(fscanf(f,"%d",&arr1[razmer1++])!=EOF);
  77. Razmer1--;
  78. fclose(f);
  79. break;
  80. default:
  81. printf("Nevaliden izbor");
  82. system ("pause");
  83. return 0;
  84.  
  85. }
  86. printf("\nVuveden masiv:\n");
  87. printarray(arr1,razmer1);
  88. for(int i=0;i<razmer1;i++)
  89. {
  90. if(arr1[i]%2==1 && (i+1)%2==1)
  91. {
  92. arr2[razmer2++]=arr1[i];
  93. }
  94. if(arr1[i]%4==0) //ako se deli na 4
  95. {
  96. arr3[razmer3++]=arr1[i];
  97. }
  98. }
  99. printf("\nMasiv 1:\n");
  100. printarray(arr2,razmer2);
  101. printf("\nMasiv 2:\n");
  102. printarray(arr3,razmer3);
  103.  
  104. bubblesort(arr2,razmer2);
  105. bubblesort(arr3,razmer3);
  106.  
  107. for(int i=0;i<razmer2;i++)
  108. {
  109. arr4[razmer4++]=arr2[i];
  110. }
  111. for(int i=0;i<razmer3;i++)
  112. {
  113. arr4[razmer4++]=arr3[i];
  114. }
  115. printf("\nMasiv 3:\n");
  116. printarray(arr4,razmer4);
  117. return 0;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment