Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <locale.h>
  5.  
  6. void vyvod(int *m, int k);
  7.  
  8. int main(void){
  9. setlocale(LC_ALL, "");
  10. int m1[5]={10,8,5,4,2}, m2[10] ={1,5,7,8,9,11,12,13,14,15}, *M[15], i=4, j=0, k=0;
  11.  
  12. printf("Исходные массивы:\n");
  13. vyvod(m1, 5);
  14. vyvod(m2, 10);
  15.  
  16. while (k<15){
  17. if(i==-1){
  18. M[k]=&m2[j];
  19. k++;
  20. j++;}
  21. else
  22. if(j==10){
  23. M[k]=&m1[i];
  24. k++;
  25. i--;}
  26. else
  27. if(m1[i]<m2[j]) {
  28. M[k]=&m1[i];
  29. k++;
  30. i--;}
  31. else
  32. if(m1[i]==m2[j]){
  33. M[k]=&m1[i];
  34. k++;
  35. i--;
  36. M[k]=&m2[j];
  37. k++;
  38. j++;}
  39. else
  40. if(m1[i]>m2[j]){
  41. M[k]=&m2[j];
  42. k++;
  43. j++;}}
  44.  
  45. printf("Упорядоченная последовательность:\n");
  46.  
  47. printf("Номер: ");
  48. for (i = 1; i <=15; i++)
  49. printf("%3d", i );
  50. printf("\n");
  51. printf("Значение:");
  52. for (i = 0; i <15; i++){
  53. printf("%3d", *M[i]);}
  54. printf("\n");
  55. printf("\n");
  56. return 0;
  57. }
  58.  
  59. void vyvod(int *m, int k){
  60. int i;
  61.  
  62. printf("Номер: ");
  63. for (i=0; i<k; i++){
  64. printf("%3d", i+1);}
  65. printf("\n");
  66.  
  67. printf("Элемент: ");
  68. for (i=0; i<k; i++){
  69. printf("%3d", m[i]);}
  70. printf("\n");
  71.  
  72. printf("\n");
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement