Создание двумерного массива, все элементы которого различны - Turbo Pascal
Формулировка задачи:
Задана целочисленная матрица А, все элементы которой различны.
Помогите. Не могу сообразить как сделать так, чтобы элементы не повторялись.
Решение задачи: «Создание двумерного массива, все элементы которого различны»
textual
Листинг программы
const max=10; var a:array[1..max,1..max] of integer; b:array[1..max*max+1] of integer; n,m,k,i,j,p,x:integer; f:boolean; begin clrscr; randomize; repeat write('Количество строк до ',max,' m='); readln(m); until m in [1..max]; repeat write('Количество столбцов до ',max,' n='); readln(n); until n in [1..max]; b[1]:=-2*max*max+random(4*max*max+1); k:=1; for i:=1 to m do for j:=1 to n do begin repeat x:=-2*max*max+random(4*max*max+1); f:=true; p:=1; while(p<=k)and f do if x=b[p] then f:=false else inc(p); until f; a[i,j]:=x; inc(k); b[k]:=x; end; for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln; end; readln end.
Объяснение кода листинга программы
Данный код на Turbo Pascal создает двумерный массив, все элементы которого различны.
- В начале кода объявляются необходимые переменные: максимальное значение для строк и столбцов (макс), двумерный массив a, одномерный массив b, переменные n, m, k, i, j, p и x, а также логическое значение f.
- Затем происходит инициализация массива a случайными значениями.
- Далее идет цикл, который повторяется столько раз, сколько строк и столбцов в массиве. Внутри цикла вычисляется индекс текущего элемента массива a и b, а также переменная p, которая отслеживает текущий элемент в цикле.
- Пока значение переменной p меньше или равно k и значение переменной f равно true, происходит проверка: если текущий элемент в массиве a равен значению b[p], то значение переменной f устанавливается в false, иначе значение переменной p увеличивается на 1.
- После того как значение переменной f становится false, значение переменной p увеличивается на 1.
- После завершения внутреннего цикла происходит установка значения текущего элемента массива a в значение x.
- Затем происходит повторное вычисление индекса текущего элемента массива a и b, и значение переменной p снова сбрасывается на 1.
- После окончания внешнего цикла выводится содержимое каждой строки массива a.
- В конце кода выводится сообщение с количеством строк и столбцов, а также сгенерированным значением x.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д