Найти все неповторяющиеся элементы двумерного массива - Turbo Pascal
Формулировка задачи:
Решите, пожалуйста.
Найти все неповторяющиеся элементы двумерного массива целых чисел размерностью 6*3. Заполнение массива осуществить с клавиатуры.
Решение задачи: «Найти все неповторяющиеся элементы двумерного массива»
textual
Листинг программы
const
N = 6;
M = 3;
var
i, j, k, un: Byte;
uniqs: Array[1..N*M] Of Integer;
ar: Array[1..N, 1..M] Of Integer;
isUniq: Boolean;
begin
un := 0;
for i := 1 to N do
begin
for j := 1 to M do
begin
Write('ar[', i, '][', j, ']=');
ReadLn(ar[i, j]);
isUniq := True;
k := 1;
while ((k <= un) And (isUniq)) do
begin
isUniq := (uniqs[k] <> ar[i, j]);
Inc(k);
end;
if (isUniq)
then
begin
Inc(un);
uniqs[un] := ar[i, j];
end;
end;
WriteLn;
end;
Write('Неповторяющиеся элементы:');
for k := 1 to un do
Write(' ', uniqs[k]);
WriteLn;
end.
Объяснение кода листинга программы
В данном коде происходит обработка двумерного массива и поиск всех неповторяющихся элементов. Переменные:
- N - количество строк в массиве (6);
- M - количество столбцов в массиве (3);
- i, j, k - счетчики для итерации по массиву;
- un - номер уникального элемента;
- uniqs - массив для хранения неповторяющихся элементов;
- ar - исходный двумерный массив. Код начинается с инициализации переменных: un устанавливается в 0, а uniqs и ar инициализируются нулями. Затем следует цикл, который проходит по каждой строке массива ar. Внутри этого цикла происходит итерация по каждому элементу массива ar[i, j]. Для каждого элемента выполняется запись в переменную uniqs[un], если он не повторяется в массиве ar. После завершения внутреннего цикла, выполняется проверка условия (k <= un) And (isUniq). Если это условие истинно, то элемент uniqs[k] не повторяется в массиве ar[i, j]. В этом случае происходит увеличение k и повторная проверка. Если же условие ложно, то элемент uniqs[k] повторяется в массиве ar[i, j]. После завершения внешнего цикла, выводится сообщение с неповторяющимися элементами, записанными в переменную uniqs. Таким образом, данный код выполняет поиск неповторяющихся элементов в двумерном массиве и выводит их на экран.