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

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

Форум «Всё о Паскале» _ Задачи _ Нахождение MAX матрицы

Автор: -=NEXT=- 13.11.2006 22:15

Помогите пожалуйста решить задачку, а то не очень шарю в Паскале.
Задача: необходимо с помощью функции найти max элемент в каждом столбце массива и среди них найти min.
Заранее премного благодарен!

Автор: мисс_граффити 13.11.2006 22:25

И в чем проблема? В поиске max?

Автор: -=NEXT=- 13.11.2006 22:55

Да, в поиске max через функцию. Я с ними вообще разобраться ни как не могу.

 ! 
Ты сначала с Правилами Форума разберись... Или тебе кажется, что задавать вопросы в чужих темах - это нормально? Так вот ты ошибаешься. Еще раз повторится - получишь наказание.


Автор: -=NEXT=- 26.11.2006 9:39

Ну помогите кто-нибудь. Пожалуйста.

Автор: мисс_граффити 26.11.2006 17:50

ну ты покажи, что пробовал делать...
или поиском воспользуйся.

Автор: -=NEXT=- 26.11.2006 19:53

Я сделал программу, она работает, только нахождение max и min элемента не через функцию. Вот текст проги:


Program z4;
const N=6; M=6;
var
A:array [1..N,1..M] of integer;
i,j,max1,max2,max3,max4,max5,max6,min:integer;
F:text;
begin
assign(F,'z4.txt');
rewrite(F);
randomize;
for i:=1 to N do begin
for j:=1 to M do begin
A[i,j]:=random (51)-10;
write(A[i,j],' ');
write(F,A[i,j],' ');
end;
writeln;
writeln(F);
end;
begin
max1:=A[1,1];
j:=1;
for i:=1 to N do begin
if A[i,j]>max1 then begin
max1:=A[i,j];
end; end;
max2:=A[1,2];
j:=2;
for i:=1 to N do begin
if A[i,j]>max2 then begin
max2:=A[i,j];
end; end;
max3:=A[1,3];
j:=3;
for i:=1 to N do begin
if A[i,j]>max3 then begin
max3:=A[i,j];
end; end;
max4:=A[1,4];
j:=4;
for i:=1 to N do begin
if A[i,j]>max4 then begin
max4:=A[i,j];
end; end;
max5:=A[1,5];
j:=5;
for i:=1 to N do begin
if A[i,j]>max5 then begin
max5:=A[i,j];
end; end;
max6:=A[1,6];
j:=6;
for i:=1 to N do begin
if A[i,j]>max6 then begin
max6:=A[i,j];
end; end;
writeln('max1= ',max1);
writeln(F,'max1= ',max1);
writeln('max2= ',max2);
writeln(F,'max2= ',max2);
writeln('max3= ',max3);
writeln(F,'max3= ',max3);
writeln('max4= ',max4);
writeln(F,'max4= ',max4);
writeln('max5= ',max5);
writeln(F,'max5= ',max5);
writeln('max6= ',max6);
writeln(F,'max6= ',max6);
min:=max1;
if max2<min then min:=max2;
if max3<min then min:=max3;
if max4<min then min:=max4;
if max5<min then min:=max5;
if max6<min then min:=max6;
writeln('min= ',min);
writeln(F,'min= ',min);
end;
close(F);
readln;
end.


 ! 
Теги !


Автор: мисс_граффити 26.11.2006 20:23

а что ты будешь делать, если m=100?
почему не сделать вместо
max1,max2,max3,max4,max5,max6
один массив max[1..m]?
и работать с ними в человеческом цикле....

Автор: -=NEXT=- 27.11.2006 22:36

Ну да так конечно лучше будет, но это не главное. Мне надо сделать нахождение через функцию. А я в них ваще не шарю. Может ты мне поможешь??? give_rose.gif А???

Автор: мисс_граффити 27.11.2006 22:51

почитай в FAQ про то, как передавать матрицу в подпрограмму.

Автор: -=NEXT=- 27.11.2006 23:18

Че то я там ни чего тако не нашел.

Автор: klem4 27.11.2006 23:23

Поиск -> Задача +матрицу

КУЧА задач на матрицы и массивы решены с использованием подпрограмм.

Автор: -=NEXT=- 28.11.2006 20:04

Мне то надо про функции, а про них там ни чего нет. Работыть с матрицами я умею.

Автор: Ozzя 28.11.2006 20:14

Какая разница? Функции или процедуры? Берешь с процедурой, оформляешь как функцию. Всё.