Advertisement
jovanovski

КРС Лаб.5

Dec 11th, 2011
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.04 KB | None | 0 0
  1. Задача 1
  2. -----------
  3. #include <stdio.h>
  4.  
  5. int prosti(int a, int b){
  6. int i, deliteli=0;
  7. for (i=2;i<=a;i++){
  8. if ((a%i==0) && (b%i==0))deliteli++;
  9. }
  10. if(deliteli>0){return 0;}
  11. return 1;
  12. }
  13.  
  14. int swap(int a[], int i, int n){
  15. if (prosti(a[i], a[i+1])) {
  16. int t;
  17. t=a[i];
  18. a[i]=a[i+1];
  19. a[i+1]=t;
  20. return 1;
  21. }
  22. return 0;
  23. }
  24.  
  25. int main() {
  26. int a[100], n, i;
  27. printf("Vnesi n: ");
  28. scanf("%d", &n);
  29. for (i=0;i<n;i++){
  30. scanf("%d", &a[i]);
  31. }
  32. for (i=0;i<n-1;i++){
  33. if (swap(a,i, n))i++;
  34. }
  35. for (i=0;i<n;i++){
  36. printf("%d ", a[i]);
  37. }
  38. return 0;
  39. }
  40.  
  41. Задача 2:
  42. -----------
  43. #include<stdio.h>
  44. #define MAX 100
  45.  
  46. void sort(int *a, int dol, int m)
  47. {
  48. int k, j, t;
  49. for (k=0; k<m; k++)
  50. {
  51. t=a[dol-1];
  52. for(j=dol; j>0; j--)
  53. {
  54. a[j]=a[j-1];
  55. }
  56. a[0]=t;
  57. }
  58. }
  59.  
  60. void sort2(int *a, int dol, int m2)
  61. {
  62.     m2*=(-1);
  63. int k, j, pamti;
  64. for (k=0; k<m2; k++)
  65. {
  66. pamti=a[0];
  67. for(j=0; j<dol; j++)
  68. {
  69. a[j]=a[j+1];
  70. }
  71. a[dol-1]=pamti;
  72. }
  73. }
  74.  
  75. int main ()
  76. {
  77. int a[MAX], n, m, i, *pokm;
  78. printf("Vnesi n: ");
  79. scanf("%d", &n);
  80. for(i=0; i<n; i++)
  81. scanf("%d", &a[i]);
  82. printf("Vnesi m: ");
  83. scanf("%d", &m);
  84. pokm=&m;
  85. if(m>0){
  86. sort(a,n,m);}
  87. else{
  88. sort2(a,n,m);
  89. }
  90. for(i=0; i<n; i++)
  91. printf("%d ", a[i]);
  92. return 0;
  93. }
  94.  
  95. Задача 3:
  96. ----------
  97. #include <stdio.h>
  98. void sort(int a[], int n) {
  99. int i, j;
  100. for (i = 0; i < n; i ++) {
  101. for (j = 0; j < n - i - 1; j ++) {
  102. if (a[j] > a[j + 1]){
  103. int t;
  104. t=a[j];
  105. a[j]=a[j+1];
  106. a[j+1]=t;
  107. }
  108. }
  109. }
  110. }
  111.  
  112. void merdge(int a[],int b[],int c[],int n, int m){
  113.     int i2, x=0, y=0, brojac=0;
  114. for(i2=0;i2<=m+n;i2++){
  115. if (x<n && (a[x]<b[y] || b[y]==0)) {
  116. c[brojac]=a[x];
  117. x++;
  118. brojac++;
  119. }
  120. if (y<m && (a[x]>b[y] || a[x]==0)) {
  121. c[brojac]=b[y];
  122. y++;
  123. brojac++;
  124. }
  125.  
  126. }
  127.  
  128. }
  129.  
  130. int main() {
  131. int a[100], b[100], c[100], i,i2,n,m;
  132. printf("Vnesi n: ");
  133. scanf("%d", &n);
  134. for(i=0;i<n;i++){
  135. scanf("%d", &a[i]);
  136. }
  137. printf("Vnesi m: ");
  138. scanf("%d", &m);
  139. for(i=0;i<m;i++){
  140. scanf("%d", &b[i]);
  141. }
  142. sort(a,n);
  143. sort(b,m);
  144. merdge(a,b,c,n,m);
  145.  
  146.  
  147. printf("c: ");
  148. for(i=0;i<m+n;i++){
  149. printf("%d", c[i]);
  150. }
  151.  
  152. return 0;
  153. }
  154.  
  155.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement