Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Вводятся размеры матрицы и её элементы. Удалить строку, в которой находится самый большой элемент матрицы.

Автор: TommyG 12.12.2010 20:29

var a:array[1...100] of array[1..100] of integer;
max,i,j:integer;
begin
readln(n);
for i:=1 to n do
for j:=1 to n do
readln(a[i]);
max:=a[1,1];
for i:=1 to n do
for j:=1 to n do
if a[i,j]>max then m:=i;
for i:=1 to m-1 do
for j:=1 to n do
writeln(a[i,j]);
for i:=1 to m+1 do
for j:=1 to n do
writeln(a[i,j]);
readln
end.


че-то я с процедурами не бум бум, как через нее сделать? намекните немного че в нее записывать, а че нет.

Автор: TommyG 12.12.2010 22:21

Че никто это в процедурку не запихнет...а то я не умею

Автор: sheka 12.12.2010 23:54

Патамушо азачем? smile.gif

procedure _;
var a:array[1...100] of array[1..100] of integer;
max,i,j:integer;
begin
readln(n);
for i:=1 to n do
for j:=1 to n do
readln(a[i]);
max:=a[1,1];
for i:=1 to n do
for j:=1 to n do
if a[i,j]>max then m:=i;
for i:=1 to m-1 do
for j:=1 to n do
writeln(a[i,j]);
for i:=1 to m+1 do
for j:=1 to n do
writeln(a[i,j]);
readln
end;

begin _ end.

Автор: TommyG 13.12.2010 0:15

Условие задачи такое. нужно делать через процедуру.

Автор: volvo 13.12.2010 3:24

sheka, похоже, что процедура должна только удалить строку из матрицы, а все остальное (заполнение матрицы и ее печать) нужно делать в основной программе.

По заданию тоже возникает несколько вопросов:
1) а если у меня в матрице несколько макс. элементов, и находятся они в каждой строке - мне что, все строки удалять?
2) автор понимает разницу между "удалить данные из матрицы" и "не печатать определенную строку при выводе"? Сейчас может и не напечатаешь, дальше опять эта строка всплывет. Удаление - это навсегда, нижние строки перемещаются на одну вверх и затирают удаляемые значения.

Автор: TommyG 13.12.2010 4:42

предположим. что 1 элемент
понимаю о чем вы хотите сказать
есть варианты? именно с процедурой