Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Паскале]Нужно в матрице найти мин. элемент


Автор: smoke88 28.5.2006, 18:12
в матрице размером м*н, размер задается с клавы, найти минимальный элемент. все это на паскале. Кому не трудно, прошу помочь. 

Автор: b44 28.5.2006, 19:27
такую простенькую задачу не смог решить!
Код

uses crt;
const m=3;
          n=3;
var a: array [1..m, 1..n] of integer;
    min: integer;


i,j:integer;
begin
clrscr;
randomize;

for i:=1 to m do begin
   writeln;
   for j:=1 to n do begin
       a[i,j]:=random(41)+10;
       write(a[i,j],' ');
   end;
end;

min := a[1,1];

for i:=1 to m do begin
   writeln;
   for j:=1 to n do begin
     if a[i,j] < min then min := a[i,j];
   end;
end;
write('min = ', min);
readln;
end.
 

Автор: mr.Anderson 28.5.2006, 21:07
b44, во-первых, у тебя задачи были не сложнее. Это раз. Во-вторых, не надо говорить о том, что задача проста. Если человек не может ее решить, значит, он ее не знает, но это вовсе не значит, что он, извини за выражение, дурак (слова "такая простенькая задачка" именно на это и намекают). А в-третьих, насколько я вижу, в твоей программе есть ошибки. 

Автор: Pan1ca 1.7.2009, 22:09
ввод матрицы и опасинае переменных не пишу, только основной блок программы

min:=a[1,1];
for i:=1 to N do
for j:=1 to M do
if a[i,j]<min then
begin
min:=a[i,j];
writeln('min=', min);
end;

Автор: Neox_GeForce 1.7.2009, 22:29
гм... Учитесть читать .
Цитата

в матрице размером м*н, размер задается с клавы, найти минимальный элемент. все это на паскале. Кому не трудно, прошу помочь. 


Размер аздается с клавы. Динамический массви надо сделать.

Автор: ИванМ 2.7.2009, 19:50
Код

uses crt;
type
Matrix=array[0..0] of integer;
PMatrix=^Matrix;
var
matr: PMatrix;
m, n, min_el: integer;
i, j: integer;
begin
     clrscr;
     write('m=');
     readln(m);
     write('n=');
     readln(n);
     GetMem(matr, m*n*sizeof(integer));
     for i:=0 to m-1 do
     for j:=0 to n-1 do
     begin
          write('m[',i+1,',',j+1,']=');
          readln(matr^[i*n+j]);
     end;
     writeln('matrix:');
     for i:=0 to m-1 do
     begin
          for j:=0 to n-1 do
          begin
               write(matr^[i*n+j],' ');
          end;
          writeln;
     end;
     min_el:=matr^[0];
     for i:=0 to m-1 do
     for j:=0 to n-1 do
     begin
          if matr^[i*n+j]<min_el then
             min_el:=matr^[i*n+j];
     end;
     write('Minimal element: ',min_el);
     readkey;
     FreeMem(matr, m*n*sizeof(integer));
end.

Автор: mr.Anderson 3.7.2009, 15:30
Pan1ca, ты вообще дату последнего сообщения видел? Тема три года назад обновлялась. Пока обойдемся без предупреждений, но это в первый и последний раз.

M
mr.Anderson
[Модератор: тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)