uses crt;
var matr: array [1..5,1..5] of integer;
var i,j: integer;
var max: integer;
begin
clrscr;
Randomize;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
matr[i,j]:=Random(101)-50;
end;
end;
Writeln('Ishodnaya matritca:');
for i:=1 to 5 do begin
writeln('');
for j:=1 to 5 do
Write(matr[i,j]:5,' ');
end;
max:=matr[1,1];
for i:=1 to 5 do begin
for j:=1 to 5 do begin
if matr[i,j]>max then begin
max:=matr[i,j];
end;
end;
end;
writeln('');
Writeln('Max element matrici ', max);
for i:=1 to 5 do begin
for j:=1 to 5 do
if matr[i,j] mod 2<>0 then
matr[i,j]:=max;
end;
Writeln('Preobrazovannaya matritca:');
for i:=1 to 5 do begin
writeln('');
for j:=1 to 5 do
Write(matr[i,j]:5,' ');
end;
readln;
end.
двумерные массивы. паскаль
2) найти максимальный элемент каждой строки массива и его индекс.
3) в произвольном массиве n*m удалите строку с номером k.
Бросайте свои наброски, помогим...
1)
Код:
uses crt;
var matr: array [1..5,1..5] of integer;
var i,j,index: integer;
var max: integer;
begin
clrscr;
Randomize;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
matr[i,j]:=Random(101)-50;
end;
end;
Writeln('Ishodnaya matritca:');
for i:=1 to 5 do begin
writeln('');
for j:=1 to 5 do
Write(matr[i,j]:5,' ');
end;
for i:=1 to 5 do begin
max:=matr[i,1];
index:=1;
for j:=1 to 5 do begin
if matr[i,j]>max then begin
max:=matr[i,j];
index:=j;
end;
end;
writeln('');
Writeln('Max element stroki ',i,' raven ',max, ' ego index v stroke ',index);
end;
readln;
end.
var matr: array [1..5,1..5] of integer;
var i,j,index: integer;
var max: integer;
begin
clrscr;
Randomize;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
matr[i,j]:=Random(101)-50;
end;
end;
Writeln('Ishodnaya matritca:');
for i:=1 to 5 do begin
writeln('');
for j:=1 to 5 do
Write(matr[i,j]:5,' ');
end;
for i:=1 to 5 do begin
max:=matr[i,1];
index:=1;
for j:=1 to 5 do begin
if matr[i,j]>max then begin
max:=matr[i,j];
index:=j;
end;
end;
writeln('');
Writeln('Max element stroki ',i,' raven ',max, ' ego index v stroke ',index);
end;
readln;
end.
Код:
uses crt;
var i,j,k,n,m: integer;
var matr: array [1..20] of array [1..20] of integer;
begin
clrscr;
Randomize;
writeln('Vvedite kol-vo strok:');
readln(n);
writeln('Vvedite kol-vo stolbtcov:');
readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
matr[i,j]:=Random(101)-50;
end;
end;
Writeln('Ishodnaya matritca:');
for i:=1 to n do begin
writeln('');
for j:=1 to m do
Write(matr[i,j]:5,' ');
end;
writeln('');
writeln('Vvedite nomer stroki:');
readln(k);
writeln('Preobrazovannaya matritca:');
for i:=1 to n do begin
if i<>k then
begin
writeln('');
for j:=1 to m do
Write(matr[i,j]:5,' ');
end;
end;
readln;
end.
var i,j,k,n,m: integer;
var matr: array [1..20] of array [1..20] of integer;
begin
clrscr;
Randomize;
writeln('Vvedite kol-vo strok:');
readln(n);
writeln('Vvedite kol-vo stolbtcov:');
readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
matr[i,j]:=Random(101)-50;
end;
end;
Writeln('Ishodnaya matritca:');
for i:=1 to n do begin
writeln('');
for j:=1 to m do
Write(matr[i,j]:5,' ');
end;
writeln('');
writeln('Vvedite nomer stroki:');
readln(k);
writeln('Preobrazovannaya matritca:');
for i:=1 to n do begin
if i<>k then
begin
writeln('');
for j:=1 to m do
Write(matr[i,j]:5,' ');
end;
end;
readln;
end.
P.S. В паскале, насколько я знаю, удалить из массива строку нельзя, поэтому её просто не выводим на экран
очень выручили.. но я почемуто не могу добавить вам отзыв(
ни одна задача не работает((((
понять не могу в чем дело(программа загружается но работает абсолютно не правильно(
Цитата: nastyanan
ни одна задача не работает((((
ну разве стал бы я выкладывать код, не проверив:) Писал в turbo pascal 7
блин(щас попробую всё еще раз
http://www.softportal.com/get-2409-borland-turbo-pascal.html только выбирайте второй источник, первый битый
вот вам ссылка, оттуда я скачивал TP7:
max:=matr[i,j];
index:=j;
а что означают эти строки во 2 задаче?
if matr[i,j]>max then begin
max:=matr[i,j];
как только нашли его (просмотрев всю строку) запоминаем индекс найденного элемента (чтобы потом вывести на экран)
index:=j;
а еще раньше написан код
max:=matr[i,1];
index:=1;
так вот здесь индекс равен 1, потому что если получиться, что максимальный элемент строки стоит на первом месте, тогда этот код не присвоит значение 1 индексу
if matr[i,j]>max then begin
max:=matr[i,j];
index:=j;
P.S. это самый неудачный код:( но по другому я придумать не смог:confused:
P.P.S разобрались с ошибками?
вы очень помогли мне справится со всеми этими зачётами!
с оштбками разобралась)
Цитата: nastyanan
СПАСИБО БОЛЬШОЕ!
вы очень помогли мне справится со всеми этими зачётами!
с оштбками разобралась)
вы очень помогли мне справится со всеми этими зачётами!
с оштбками разобралась)
ну мне просто самому интересно, чтож там такое было?:)