Поле 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.
Объяснение кода листинга программы
- Объявляются три массива: a (3x3 массив), b (1xn массив) и три переменные: i, j, x (тип byte).
- Задается начальное значение для всех элементов массива b, равное 0.
- Запускается цикл по всем элементам массива b.
- Внутри цикла запускается вложенный цикл по всем элементам массива a.
- Внутри вложенного цикла выполняется блок повторяющийся случайным образом до тех пор, пока значение элемента b[x] меньше 3.
- Значение элемента b[x] увеличивается на 1.
- Значение элемента a[i,j] присваивается значению переменной x.
- В консоль выводится значение элемента a[i,j] в формате 3 символа.
- Вложенный цикл завершается и начинается следующий итерация внешнего цикла.
- После завершения внешнего цикла выводится символ новой строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д