Дана целочисленная матрица размера M x N. Найти количество ее строк 1| столбцов 2, все элементы которых различны. - Turbo Pascal
Формулировка задачи:
Решение задачи: «Дана целочисленная матрица размера M x N. Найти количество ее строк 1| столбцов 2, все элементы которых различны.»
Program_1;
type tip= real;
stroka= array [1..100] of tip; {ykazatel }
PtStr= array [1..100] of ^Stroka; {ykazatel na ykazatel stroka}
var f:text;
NStr, NStb : integer;
i,m,n, j: integer;
A:^PtStr;
x:tip;
Begin
Assign (f,'massiv.txt');
{$i-}
Reset(f);
{$I+}
if IOResult<>0 then
Begin
writeln ('oshibka=',IOResult);
readln;
{ end
Else
Begin}
Write ('Chtenie masiva');
NStr:=0;
repeat
NStb:=0;
NStr := Nstr + 1;
Repeat
Nstb :=Nstb +1;
read(f,x);
Until SeekEoln(f);
Readln(f);
Until SeekEof(f);
close (f);
writeln(NStr:3, NStb:3);
readln;
close(f);
reset(f);
GetMem (a,4*Nstr);
For i:=1 to NStr do
Begin
GetMem( A^[i] , 4*Nstb);
For j := 1 to Nstb do
Begin
read(f,x);
a^[i]^[j]:= x;
end;
Readln (f);
End;
close (f);
write ('razmernost massiva',nstr:5,nstb:5);
readln;
end;
end.
Объяснение кода листинга программы
В данном коде происходит чтение целочисленной матрицы из файла 'massiv.txt'. Размер матрицы задается переменной NStr, а количество строк и столбцов - переменной NStb. После чтения матрицы, происходит проверка на наличие ошибок ввода-вывода. Если ошибки есть, то выводится сообщение об ошибке и производится повторное чтение массива. Далее, происходит выделение памяти под массив типа Tip для хранения чисел матрицы. Затем, происходит заполнение массива чисел матрицы. Для этого используется цикл, который проходит по каждой строке матрицы и каждому столбцу, считывает число из файла и записывает его в соответствующую ячейку массива. После окончания чтения массива, выводится размерность массива (количество строк и столбцов). В конце программы происходит выход из программы.