Урок 15 Задача 14

Урок 15 Задача 14:

Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.

var m: array[1..10] of integer; // массив
  a, i, j: integer;             // основная переменная и два счетчика
  q: boolean;                   // переключатель
begin
  randomize();
  i:=low(m);                    // начальное значение счетчика
  while (i<=high(m)) do         // внешний цикл
  begin
    a := random(21);            // получаем в переменную случайное значение
    q := true;                  // ставим переключатель в исходное положение
    for j:=low(m) to i do       // вложенный цикл. сравниваем перем-ю с уже записанными элем-ми массива
      if m[j] = a then          // если встретился равный
      begin
        q := false;             // переключаем переключатель
        break;                  // выходим из вложенного цикла
      end;
    if q = true then            // если после цикла перекл-ль остался непереключенным (не встретился равный элемент)
    begin
      m[i]:=a;                  // записываем значение в текущий элемент массива
      i:=i+1;                   // увеличиваем счетчик элементов
    end;
  end;
  for i:=low(m) to high(m) do   // обходим массив для вывода на экран
    write(m[i], ' ');
  readln ();
end.

Вывод в консоли:

15 9 4 18 13 10 19 16 7 8 
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)