Поиск одинаковых элементов в массиве - Pascal
Формулировка задачи:
Ввести 2-х мерный массив, найти числа(число), встречающиеся в каждой строке, печать этого.
Решение задачи: «Поиск одинаковых элементов в массиве»
textual
Листинг программы
uses crt; const nmax=10; var a:array[1..nmax,1..nmax] of integer; m,n,i,j,k,p,q:byte; begin clrscr; repeat write('Количество строк от 2 до ',nmax,' m='); readln(m); until m in [2..nmax]; repeat write('Количество столбцов от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; writeln('Введите элементы матрицы, целые числа'); for i:=1 to m do for j:=1 to n do begin write('a[',i,',',j,']='); readln(a[i,j]); end; clrscr; writeln('Исходная матрица:'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln; end; writeln('Числа, которые есть в каждой строке'); q:=0; for j:=1 to n do begin k:=1; for i:=2 to m do for p:=1 to n do if a[i,p]=a[1,j] then k:=k+1; if k=m then begin write(a[1,j]:4); q:=1; end; end; if q=0 then write('Таких чисел нет'); readln end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и выполняет следующие действия:
- Запрашивает у пользователя количество строк и столбцов матрицы, проверяя, что они находятся в допустимом диапазоне от 2 до nmax.
- Заполняет матрицу a целыми числами, которые пользователь вводит.
- Выводит исходную матрицу, отображая элементы матрицы в виде четырехзначных чисел.
- Затем код проверяет, есть ли в каждой строке хотя бы одно число, которое встречается в других строках. Если такое число найдено, оно выводится, а переменная q устанавливается равной 1. Если в каждой строке нет таких чисел, то выводится сообщение
Таких чисел нет
. - В конце кода выводится сообщение, информирующее пользователя, что все проверки были выполнены.