Сформировать два массива - первый из положительных элементов исходного, второй - из отрицательных - C (СИ)
Формулировка задачи:
Дан целочисленный одномерный массив Т который состоит из 25 эл. Сформировать два массива первый сост из положительных эл Т, второй - с отрицательными
Решение задачи: «Сформировать два массива - первый из положительных элементов исходного, второй - из отрицательных»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 25
int main()
{
int i,mas[N],pos_numb[N]={0},neg_numb[N]={0};
system("chcp 1251 >> nul");
srand((unsigned)time(0));
puts("Исходный массив:");
for (i=0;i<N;i++) {
mas[i]=rand()%100-50;
printf("%5d",mas[i]);
}
for (i=0;i<N;i++) {
if (mas[i]<0) neg_numb[i]=mas[i];
else pos_numb[i]=mas[i];
}
puts("\nПоложительные числа:");
for (i=0;i<N;i++) if (pos_numb[i]>0) printf("%4d ",pos_numb[i]);
puts("\nОтрицательные числа:");
for (i=0;i<N;i++) if (neg_numb[i]<0) printf("%4d ",neg_numb[i]);
system("pause >> nul");
return 0;
}
Объяснение кода листинга программы
- Подключаются необходимые библиотеки для работы с массивами, выводом данных и генерацией случайных чисел
- Задается размер массива N=25
- В цикле формируется исходный массив mas из случайных чисел от -50 до 50 с шагом 1
- В двух следующих циклах элементы исходного массива сравниваются с нулем и распределяются по двум новым массивам pos_numb и neg_numb соответственно
- Выводятся на экран два массива: первый содержит положительные числа, второй - отрицательные
- Программа ожидает нажатия любой клавиши для завершения работы