Деление одного массива, заполненного случайными числами на два по знаку - C (СИ)
Формулировка задачи:
Программа, которая бы делила массив на два по знаку, т.е положительные числа относила в один массив, а отрицательные в другой.
Решение задачи: «Деление одного массива, заполненного случайными числами на два по знаку»
textual
Листинг программы
#include <stdio.h>
#define n 10
main()
{
int rand[n]={-1,2,-3,4,-5,6,7,8,-9,10};
int poz[n];
int neg[n];
int i,j,k;
j=k=0;
for(i=0;i<n;i++)
{
if(rand[i]>0)
{
poz[k]=rand[i];
k++;
}
else
{
neg[j]=rand[i];
j++;
}
}
for(i=0;i<k;i++)
printf("%d ",poz[i]);
printf("\n\n");
for(i=0;i<j;i++)
printf("%d ",neg[i]);
}
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
. - Определяем размер массива n равным 10.
- В функции main() создаем массив rand[n] заполненный случайными числами от -5 до 10.
- Создаем три массива: poz[n], neg[n], и два указателя j и k.
- Устанавливаем значения j и k равными 0.
- В цикле for перебираем элементы массива rand[n].
- С помощью условного оператора if проверяем знак числа в массиве rand[i].
- Если число положительное, то записываем его в массив poz[k] и увеличиваем значение k на 1.
- Если число отрицательное, то записываем его в массив neg[j] и увеличиваем значение j на 1.
- После окончания цикла, выводим на экран элементы массива poz[i] с помощью цикла for и функции printf().
- Выводим на экран элементы массива neg[i] с помощью цикла for и функции printf().