Определить самый большой и самый маленький элементы сформированного вектора - C (СИ)
Формулировка задачи:
Сформировать и напечатать вектор с m ( m <= 50 ) трехзначных случайных чисел. В каждом номере все три цифры должны быть разными. Определить самый большой и самый маленький элементы сформированного вектора. Подсказка : воспользоваться библиотечными функциями генерации случайных чисел.
Решение задачи: «Определить самый большой и самый маленький элементы сформированного вектора»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int m = 50;
int main()
{
int x[m];
srand(time(0));
for (int i = 0; i < m; i++)
{
do
{
x[i] = rand() % 900 + 100;
} while (x[i] % 10 == x[i] / 100 || x[i] % 10 == (x[i] / 10) % 10 || x[i] / 100 == (x[i] / 10) % 10);
printf("%i ",x[i]);
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- #include
, #include , #include - подключают необходимые для работы функции из библиотек. - const int m = 50; - объявляют константу m, которая задает размер массива.
- int main() - функция main(), в которой происходит основная работа программы.
- int x[m]; - объявляют массив x размером m.
- srand(time(0)); - инициализация генератора случайных чисел текущим временем.
- for (int i = 0; i < m; i++) - цикл, который выполняет следующую операцию для каждого элемента массива.
- do - начало цикла, который будет выполняться до тех пор, пока условие истинно.
- x[i] = rand() % 900 + 100; - генерация случайного числа в диапазоне от 100 до 900 и присваивание его элементу массива x.
- printf(
%i,x[i]); - вывод элемента массива x с пробелом после него. - while (x[i] % 10 == x[i] / 100 || x[i] % 10 == (x[i] / 10) % 10 || x[i] / 100 == (x[i] / 10) % 10); - условие цикла do, которое проверяет, является ли число x[i]
кратным10 в разных разрядах (сотен, десятков, единиц). Если это так, то число генерируется заново. - В конце функции main() возвращается 0, что означает успешное выполнение программы. В результате выполнения программы будет сформирован массив x размером 50, заполненный случайными числами от 100 до 900. Затем программа выведет все элементы массива на экран.