вопрос описан в коде
Код:
uses crt;
var
soz:integer;
fn:string;
f:file of integer;
i,j,i1,ns1,ns2,c:integer;
el,max:integer;
mas:array[1..255,1..255] of integer;
procedure eq;
begin
(* ïðîâåðêà äóðàêà - ââîä ðàçìåðíîñòåé ìàòðèöû *)
while not (ioresult=0) or (ns1<=0) do
begin
write('Enter quantity of lines - ââåäèòå êîëè÷åñòâî ñòðîê: ');
{$I-}
readln(ns1);
{$I+}
end;
while not (ioresult=0) or (ns2<=0) do
begin
write('Enter quantity of columns - ââåäèòå êîëè÷åñòâî ñòîëáöîâ: ');
{$I-}
readln(ns2); ; if not (ioresult=0) or (ns1<=0) then clrscr;
{$I+}
end;
end;
procedure createtable(ns1,ns2:integer);
var
i,j:integer;
begin
writeln;
writeln(' 1|To enter from the keyboard - ñ êëàâèàòóðû');
writeln(' 2|In a random way - ñëó÷àèíî');
writeln(' 3|From a file - èç ôàèëà ');
readln(c);
case c of
1:begin
clrscr;
for i:=1 to ns1 do
begin
for j:=1 to ns2 do
begin
write('mas[',i,',',j,'] = ');
readln(mas[i,j]);
end;
end;
soz:=1;
end;
2:begin
for i:=1 to ns1 do
begin for j:=1 TO ns2 do
mas[i,j]:=random(10);
end;
writeln;
writeln(' The table is created! - Òàáëèöà ñîçäàíà ! '); soz:=1;
readln; clrscr;
end;
3:begin
(* здесь нужно сперва создать фаил в котрую будет записана матрица с введенными ранее размерами матрицы и после *)
(* теперь считывание матрицы *)
{} end;
for i:=1 to ns1 do begin for j:=1 TO ns2 do mas[i,j]:=random(10); end;
readln;
end;
(* ïîêàç *)
procedure showtable;
var
i,j:integer;
begin
writeln; writeln;
for i:=1 to ns1 do
begin for j:=1 to ns2 do
write(' ',mas[i,j]:2); writeln; writeln;
end; write;
end;
function yes(el: integer): integer;
var
i, j: integer;
begin
yes := 0;
for j := 1 to ns2 do
begin
i := 1;
while (i <= ns1) and (mas[i, j] <> el) do
inc(i);
if i <= ns1 then
inc(yes);
end;
end;
procedure task(i1:integer);
var
max,j1,j2,i2:integer;
begin
max:=0;
for j1:=1 to ns2 do
if yes(mas[i1,j1]) >= max then
begin
i2:=i1; j2:=j1;
max:=yes(mas[i1,j1]);
end;
writeln;
writeln(' Ýëåìåíò ' ,mas[i2,j2],' ñîäåðæèòñÿ â ',max,'- ñòîëáöàõ');
end;
begin
clrscr;
randomize;
{}{}
repeat
textcolor(white);
writeln;
writeln(' 1|To carry out the task - âûïîëíèòü çàäàíèå');
writeln(' 2|To create the table - ñîçäàòü òàáëèöó ');
writeln(' 3|To show the table - ïîêàçàòü òàáëèöó ');
writeln(' 4|Exit - ïîêèíóòü ïðèëîæåíèå ');
writeln('``Choose the wished - âûáåðèòå æåëàåìîå``');
repeat
{$I-}
readln(c);
{$I+} clrscr;
until (ioresult=0) or (c<=0);
{} case c of
1: BEGIN
ns1:=-1; ns2:=-1;
(* *)
eq;
clrscr;
(* ñîçäàíèå ìàòðèöû èñïîëüçóÿ ââåäåíûê ïðàâèëüíûå äàííûå *)
writeln;
writeln(' Êîëè÷åñòâî ñòðîê - ',ns1);
writeln(' Êîëè÷åñòâî ñòîëáöîâ - ',ns2);
writeln;
createtable(ns1,ns2);
(* ïîêàç ñîçäàííîé òàáëèöû *)
showtable;
(* ïðîâåðêà äóðàêà - ââîä íîìåðà ñòðîêè *)
while not (ioresult=0) or (i1<=0) or (i1>ns1) do
begin
write('Enter a line number of the matrix - ââåäèòå íîìåð ëèíèé: ');
{$I-}
readln(i1);
{$I+}
end;
writeln;
(* âûïîëíåíèå îñíîâíîãî çàäàíèÿ èñïîëüçóÿ ââåäåíûå äàííûå *)
task(i1);
readln; clrscr;
ns1:=-1; ns2:=-1; soz:=0; i1:=-1;
END;
2:begin
ns1:=-1; ns2:=-1;
(* *)
eq;
(* *)
createtable(ns1,ns2);
end;
3:begin
(* ïðâåðêà - çàäàíû ëè ðàçìåðû ? *)
if (soz=1) or (ns1<0) or (ns2<0) then
begin
gotoxy(25,11);
textcolor(9);
showtable;
end
else writeln('The table isn`t created! - Ðàçìåðû íå çàäàíû! ');
textcolor(white);
readln; clrscr;
end;
4: begin
clrscr;
gotoxy(25,11);
textcolor(9);
writeln(' G o o d - Äî');
gotoxy(25,12);
textcolor(13);
writeln(' B a y! - âñòðå÷è !');
delay(1000);
end;
end;{}
until(c=4);{}{}
end.