Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define N 10
- int main()
- {
- int A[N] = {6, 1, 0, -5, 2, 1, -9, 8, 0, 0};
- int B[N] = {0};
- printf("A[%d] = {", N); // Выводим на экран массив А
- for(int k = 0; k < N; k++)
- printf("%d, ", A[k]);
- printf("};\n");
- int m = 0, n = 0, b = 0; // Тут короч пробегаемся по массиву A, считаем кол-во элементов
- for(int k = 0; k < N; k++) // Которые меньше нуля, равны нулю, больше нуля
- { // m - те, что меньше; n - те, что равны; b - те, что больше соответсвенно
- if(A[k] < 0) m++;
- else{
- if(A[k] > 0) b++;
- else{
- if(A[k] == 0) n++;
- }
- }
- }
- int mk = m, nk = n, bk = b;
- for(int k = 0; k < N; k++) // А теперь просто расставляем все элементы по координатам
- {
- if(A[k] < 0){
- B[m - mk] = A[k];
- mk--;
- }
- else
- {
- if(A[k] > 0)
- {
- B[m + n + (b - bk)] = A[k];
- bk--;
- }
- }
- }
- printf("B[%d] = {", N); // Выводим результат и освобождаем память
- for(int k = 0; k < N; k++)
- printf("%d, ", B[k]);
- printf("};\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement