Заполнить элементы массивов, используя генератор случайных чисел - C (СИ)
Формулировка задачи:
Составить одномерный массив. В заданиях необходимо заполнить элементы массивов, используя генератор случайных чисел.
Решение задачи: «Заполнить элементы массивов, используя генератор случайных чисел»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int mult1 = 1, mult2 = 1, i, x[10], j, y[13];
printf("Array x[10] befor:\n\n");
for(i = 0; i < 10; ++i){
x[i] = rand() % 21 - 11;
printf("%3d ", x[i]);
}
printf("\n\nand after manipulation:\n\n");
for(i = 0; i < 10; ++i){
if(x[i] > 0)
mult1 = mult1 * x[i];
if(x[i] < 0)
x[i] = x[i] + 2;
printf("%3d ", x[i]);
}
printf("\nArray y[13] befor:\n\n");
for(j = 0; j < 13; ++j){
y[j] = rand() % 23 - 9;
printf("%3d ", y[j]);
}
printf("\n\nand after manipulation:\n\n");
for(j = 0; j < 13; ++j){
if(y[j] > 0)
mult2 = mult2 * y[j];
if(y[j] < 0)
y[j] = y[j] + 2;
printf("%3d ", y[j]);
}
return 0;
}
Объяснение кода листинга программы
- Определение переменных:
int mult1 = 1,int mult2 = 1- это две переменные, которые будут использоваться как множители для других чисел в коде.int i,int x[10]иint j,int y[13]- это переменные-счетчики и массивы, которые будут использоваться для хранения и обработки чисел в коде.rand()- это функция генерации случайных чисел, которая будет использоваться для заполнения массивовxиy.printf()- это функция вывода данных на экран, которая будет использоваться для отображения значений массивов до и после манипуляций.
- Заполнение массива x:
for(i = 0; i < 10; ++i){ x[i] = rand() % 21 - 11; printf(%3d, x[i]); }- Этот цикл перебирает элементы массива
xот 0 до 9 и заполняет их случайными числами в диапазоне от -10 до 10 с шагом 1.
- Манипуляции с массивом x:
for(i = 0; i < 10; ++i){ if(x[i] > 0) mult1 = mult1 * x[i]; if(x[i] < 0) x[i] = x[i] + 2; printf(%3d, x[i]); }- Этот цикл перебирает элементы массива
xот 0 до 9 и выполняет следующие действия: - Если
x[i]больше 0, тоmult1умножается наx[i]. - Если
x[i]меньше 0, тоx[i]увеличивается на 2.
- Заполнение массива y:
for(j = 0; j < 13; ++j){ y[j] = rand() % 23 - 9; printf(%3d, y[j]); }- Этот цикл перебирает элементы массива
yот 0 до 12 и заполняет их случайными числами в диапазоне от -9 до 9 с шагом 1.
- Манипуляции с массивом y:
for(j = 0; j < 13; ++j){ if(y[j] > 0) mult2 = mult2 * y[j]; if(y[j] < 0) y[j] = y[j] + 2; printf(%3d, y[j]); }- Этот цикл перебирает элементы массива
yот 0 до 12 и выполняет следующие действия: - Если
y[j]больше 0, тоmult2умножается наy[j]. - Если
y[j]меньше 0, тоy[j]увеличивается на 2.
- Вывод результатов:
- Код выводит значения массивов
xиyдо и после манипуляций с помощью функцииprintf().
- Код выводит значения массивов
- Возврат значения:
- В конце кода функция
main()возвращает значение 0, что означает успешное выполнение программы.
- В конце кода функция