Поле 3x3 - расставит числа - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Нужно поле 3x3, в котором будут числа от 1 до 3. Условие: число 1 в этом поле должно быть только 3 раза, число 2 и число 3 аналогично. И числа от 1 до 3 должны быть рандомными (randomize).

Решение задачи: «Поле 3x3 - расставит числа»

textual
Листинг программы
var a:array[1..n,1..n] of byte;
    b:array[1..n] of byte;
    i,j,x:byte;
begin
randomize;
writeln(' ');
for i:=1 to n do
b[i]:=0;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    repeat
    x:=1+random(3);
    until b[x]<3;
    b[x]:=b[x]+1;
    a[i,j]:=x;
    write(a[i,j]:3);
   end;
  writeln;
 end;
end.

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

  1. Объявляются три массива: a (3x3 массив), b (1xn массив) и три переменные: i, j, x (тип byte).
  2. Задается начальное значение для всех элементов массива b, равное 0.
  3. Запускается цикл по всем элементам массива b.
  4. Внутри цикла запускается вложенный цикл по всем элементам массива a.
  5. Внутри вложенного цикла выполняется блок повторяющийся случайным образом до тех пор, пока значение элемента b[x] меньше 3.
  6. Значение элемента b[x] увеличивается на 1.
  7. Значение элемента a[i,j] присваивается значению переменной x.
  8. В консоль выводится значение элемента a[i,j] в формате 3 символа.
  9. Вложенный цикл завершается и начинается следующий итерация внешнего цикла.
  10. После завершения внешнего цикла выводится символ новой строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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