Advertisement
Guest User

Untitled

a guest
May 5th, 2021
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #include <windows.h>
  2. #include <locale.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. /////////////////////////////////////
  8. int main()
  9. {
  10. system("chcp 1251 > nul");
  11. SetConsoleTitle("ОтветыМейлРу"); // Русские буквы
  12.  
  13. int i, k, N;
  14. int *A;
  15. printf ("Введите размер массива A= "); scanf("%d", &N);
  16.  
  17. A = (int*) malloc (N*sizeof(int));
  18. if (A==NULL) { printf("Ошибка выделения памяти"); exit (1); }
  19.  
  20. for (i=0; i<N; i=i+2) { A[i]= i+1; A[i+1]= -i-1; }
  21. for (i=0; i<N; i++) printf("%d\t", A[i]);
  22.  
  23. int neg=0; int tmp;
  24. for (i=0; i<N; i++)
  25. {
  26. for (k=i+1; k<N; k++)
  27. {
  28. if (A[i]>A[k]) { tmp= A[k]; A[k]= A[i]; A[i]= tmp; }
  29. }
  30. if (A[i]<0) neg++;
  31. }
  32.  
  33. printf("\n"); for (i=0; i<N; i++) printf("%d\t", A[i]);
  34. printf("\n neg= %d\n", neg);
  35.  
  36.  
  37. int *Neg, *Pos;
  38.  
  39. Neg = (int*) malloc (neg*sizeof(int));
  40. if (Neg==NULL) { free (A); printf("Ошибка выделения памяти"); exit (1); }
  41.  
  42. Pos = (int*) malloc ((N-neg)*sizeof(int));
  43. if (Pos==NULL) { free (A); free (Neg); printf("Ошибка выделения памяти"); exit (1); }
  44.  
  45. k= 0; // Индекс положит массивов
  46.  
  47. for (i= 0; i<neg; i++) Neg[i]= A[i];
  48. for (i=N-1; i>(neg-1); i--) { Pos[k]= A[i]; k++; }
  49.  
  50. printf("\nПоложительные элементы\n"); for (i=0; i<N-neg; i++) printf("%d\t", Pos[i]);
  51. printf("\nОтрицательные элементы\n"); for (i=0; i<neg; i++) printf("%d\t", Neg[i]);
  52.  
  53. printf("\n"); system("pause");
  54. free (A); free (Pos); free (Neg);
  55. return 0;
  56. }
  57.  
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement