Array62. Дан массив $$A$$ размера $$N$$. Сформировать два новых массива $$B$$ и $$C$$: в массив $$B$$ записать все положительные элементы массива $$A$$, в массив $$C$$ — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива $$B$$, а затем — размер и содержимое массива $$C$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#include <stdio.h> int main(void) { float a[10],b[10],c[10]; int n; printf("N: "); scanf("%i",&n); int k; for (k=0; k<n; ++k){ printf("a[%i] : ",k+1); scanf("%f",&a[k]); } int kb=0,kc=0; for (k=0; k<n; ++k){ if (a[k]>0){ b[kb]=a[k]; ++kb; } if (a[k]<0){ c[kc]=a[k]; ++kc; } } printf("B: \n"); for (k=0; k<kb; ++k) printf(" %i: %f\n",k+1,b[k]); printf("C: \n"); for (k=0; k<kc; ++k) printf(" %i: %f\n",k+1,c[k]); return 0; } |
Другие задачи из раздела Array можно посмотреть здесь.
Комментарии: