Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <locale.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- /////////////////////////////////////
- int main()
- {
- system("chcp 1251 > nul");
- SetConsoleTitle("ОтветыМейлРу"); // Русские буквы
- int i, k, N;
- int *A;
- printf ("Введите размер массива A= "); scanf("%d", &N);
- A = (int*) malloc (N*sizeof(int));
- if (A==NULL) { printf("Ошибка выделения памяти"); exit (1); }
- for (i=0; i<N; i=i+2) { A[i]= i+1; A[i+1]= -i-1; }
- for (i=0; i<N; i++) printf("%d\t", A[i]);
- int neg=0; int tmp;
- for (i=0; i<N; i++)
- {
- for (k=i+1; k<N; k++)
- {
- if (A[i]>A[k]) { tmp= A[k]; A[k]= A[i]; A[i]= tmp; }
- }
- if (A[i]<0) neg++;
- }
- printf("\n"); for (i=0; i<N; i++) printf("%d\t", A[i]);
- printf("\n neg= %d\n", neg);
- int *Neg, *Pos;
- Neg = (int*) malloc (neg*sizeof(int));
- if (Neg==NULL) { free (A); printf("Ошибка выделения памяти"); exit (1); }
- Pos = (int*) malloc ((N-neg)*sizeof(int));
- if (Pos==NULL) { free (A); free (Neg); printf("Ошибка выделения памяти"); exit (1); }
- k= 0; // Индекс положит массивов
- for (i= 0; i<neg; i++) Neg[i]= A[i];
- for (i=N-1; i>(neg-1); i--) { Pos[k]= A[i]; k++; }
- printf("\nПоложительные элементы\n"); for (i=0; i<N-neg; i++) printf("%d\t", Pos[i]);
- printf("\nОтрицательные элементы\n"); for (i=0; i<neg; i++) printf("%d\t", Neg[i]);
- printf("\n"); system("pause");
- free (A); free (Pos); free (Neg);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement