Дан массив целых чисел из n элементов, заполненный случайным образом числами из заданного пользователями промежутка - C (СИ)
Формулировка задачи:
Дан массив целых чисел из n элементов, заполненный случайным образом числами из заданного пользователями промежутка.
У меня неправильно задается промежуток. В чём ошибка???
int i,y,x1,x2;
printf("\nВведите размерность массива: ");
scanf("%d",&y);
printf("Введите промежуток значений от x1 до x2:\n");
printf("x1: ");
scanf("%d",&x1);
printf("x2: ");
scanf("%d",&x2);
int mas[y];
for (i=0;i<y;i++) {
mas[i]=x1+rand()%x2;
}Решение задачи: «Дан массив целых чисел из n элементов, заполненный случайным образом числами из заданного пользователями промежутка»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main(void) {
srand(time(NULL));
int i,y,x1,x2;
printf("Введите размерность массива:");
scanf("%d",&y);
printf("Введите промежуток значений от x1 до x2:\n");
printf("x1: ");
scanf("%d",&x1);
printf("x2: ");
scanf("%d",&x2);
int mas[y];
for(i = 0; i<y;i++) {
mas[i]=rand()%(x2-x1)+x1;
printf("%d ", mas[i]);
}
printf("\n");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с массивами и вводом/выводом данных
- Инициализация генератора случайных чисел с помощью функции srand(time(NULL))
- Объявление переменных:
- i - счётчик для цикла
- y - размер массива, вводимый пользователем
- x1,x2 - минимальное и максимальное значение для генерации случайных чисел соответственно
- Запрос у пользователя размера массива и диапазона значений для генерации случайных чисел
- Выполнение цикла for для заполнения массива случайными числами
- генерация случайного числа в диапазоне от x1 до x2 с помощью функции rand()%(x2-x1)+x1
- добавление сгенерированного числа в массив
- вывод числа на экран с помощью функции printf()
- Завершение программы с помощью функции return 0