Составьте программку, которая заполняет массив a [1...10] случайными целыми числами в

Составьте программку, которая заполняет массив a [1...10] случайными целыми числами в диапазоне от 1 до 20 и находит малый элемент массива и его индекс

Задать свой вопрос
2 ответа
Решение задачки: Код написан в программе PascalABC.NET. const n = 10; Var a: array [1..n] of integer; i, min, k: integer; begin randomize; //Подключение генератора произвольных чисел. write(Массив: ); for i:=1 to n do begin a[i]:=random(1, 20); //Массив заполняется случайными целыми числами в спектре от 1 до 20. write(a[i], ); //Вывод через пробел чисел на экран в строчку. end; min:=a[1]; k:=1; for i:=1 to n do begin if a[i]

Для начала определим, какие нам потребуются переменные. Во-первых - переменная массива, во-вторых, так как работаем с массивом, нам будет нужно переменная-счетчик, также необходимы переменные для сохранения минимального значения и его индекса.

Программка будет состоять из последующих блоков:

  • Объявление переменных;
  • Наполнение массива;
  • Поиск малого значения и его индекса;
  • Вывод результата.

 Объявление переменных 

i: integer;

min: integer;

minIndex: integer;

a: array[1..10] of integer;

Так как работаем с целыми числами, используем тип integer для частей массива и переменной min. Переменные счетчика i и искомого индекса minIndex обязаны быть целочисленными для работы с массивом.

Начало программки

Перед внедрением функции Random, нужно включить генератор случайных чисел, используя процедуру randomize. Также в начале программы очищаем экран с помощью clrscr.

begin

clrscr;

randomize;

Наполнение массива

Заполним массив в цикле с фиксированным числом повторений (цикл for)

for i:=1 to 10 do

a[i]:=random(20);

Этот цикл производится 10 раз, в теле цикла содержится единственный оператор (оператор присваивания), потому не требуется использовать begin и end. Функция random отдаёт случайное целое число в диапазоне от 0 до 20 (т.е. числа, передаваемого функции в качестве параметра)

Поиск малого значения и его индекса

Для поиска минимального числа в массиве опять воспользуемся циклом for. Перед поиском малого значения нужно обязательно проинициализировать переменную min, чтобы корректно сравнивать эту переменную со значениями, хранящимися в массиве. Наиболее верный метод инициализации это присвоить ей значение первого элемента массива, а переменной minIndex его индекс, то есть 1.

min:=a[1];

minIndex=1;

Потом напишем конкретно цикл:

for i:=1 to 10 do

begin

if a[i]lt;min then

begin

min:=a[i];

minIndex=i;

end;

end;

Любая итерация этого цикла сравнивает значение a[i] с сохраненным наименьшим значением min, и в случае, если a[i] меньше, запоминает новое значение в переменной min и его индекс в переменной minIndex.

Для вывода на экран результата используем оператор write. Не забываем end. в конце программки.

write(Малое значение = ,min, его индекс - ,minIndex);

end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт