Поле 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 символа.
- Вложенный цикл завершается и начинается следующий итерация внешнего цикла.
- После завершения внешнего цикла выводится символ новой строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д