Определить самый большой и самый маленький элементы сформированного вектора - 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;
}

Объяснение кода листинга программы

В этом коде:

  1. #include , #include , #include - подключают необходимые для работы функции из библиотек.
  2. const int m = 50; - объявляют константу m, которая задает размер массива.
  3. int main() - функция main(), в которой происходит основная работа программы.
  4. int x[m]; - объявляют массив x размером m.
  5. srand(time(0)); - инициализация генератора случайных чисел текущим временем.
  6. for (int i = 0; i < m; i++) - цикл, который выполняет следующую операцию для каждого элемента массива.
  7. do - начало цикла, который будет выполняться до тех пор, пока условие истинно.
  8. x[i] = rand() % 900 + 100; - генерация случайного числа в диапазоне от 100 до 900 и присваивание его элементу массива x.
  9. printf(%i,x[i]); - вывод элемента массива x с пробелом после него.
  10. 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 в разных разрядах (сотен, десятков, единиц). Если это так, то число генерируется заново.
  11. В конце функции main() возвращается 0, что означает успешное выполнение программы. В результате выполнения программы будет сформирован массив x размером 50, заполненный случайными числами от 100 до 900. Затем программа выведет все элементы массива на экран.

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы