IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Минимум среди максимумов матрицы, Использовать процедуры или функции
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Привет!
В общем нужно было найти минумум среди максимумов каждой строки матрицы и вывести его вместе с его координатами.. Использовать процедуры, либо функции.. (делала через процедуры)
Задача конечно очень "сложная" и редкая)), аж самой противно unsure.gif , но не могли бы проверить, представляя себя очень строгим и дотошным преподом smile.gif

const n=5;
m=4;
type matr = array[1..n,1..m] of integer;
var arr: matr;
str,stl,min: integer;

procedure vvod(var a: matr);
var i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do a[i,j]:=random(11);
end;

procedure vuvod(a: matr);
var i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:4);
writeln;
end;
end;

procedure poisk_min(a: matr; var mn,st,sl: integer);
var i,w,mx: integer;

procedure poisk_max(b: matr; l: integer; var t,v: integer);
var j: integer;
begin
for j:=1 to m do
if b[l,j]>t then
begin
t:=b[l,j];
v:=j;
end;
end;

begin
for i:=1 to n do
begin
mx:=0;
poisk_max(a,i,mx,w);
if mx<mn then
begin
mn:=mx;
st:=i;
sl:=w;
end;
end;
end;

begin
randomize;
str:=0;
stl:=0;
min:=1000;
vvod(arr);
vuvod(arr);
poisk_min(arr,min,str,stl);
writeln('искомый элемент: ',min,' в ',str,'-й строке ',stl,'-го столбца');
end.


еще.. мне кажется, чет я намудрила там с переменными.. с их глобальностью и локальностью.. Мне это не кажется?

Заранее спасибо)))

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


нумерация пунктов та же smile.gif
1) комментарии напиши...
добавлять их к программкам - вообще хорошая привычка. хотя обычно лень... особенно если что-то совсем простенькое пишешь.

2) ну, по сути, да.
то есть, грубо говоря, существует 2 банально-примитивно-классически-рассматривающихся везде способа поиска минимума:
а)
min:=очень_большое_число;
for i:=1 to n do
if ar[i]<min then
min:=ar[i];

б)
min:=ar[1];
for i:=2 to n do
if ar[i]<min then
min:=ar[i];

поскольку тебе все равно нужны индексы, я бы опиралась на второй вариант. то есть:
min_ind:=1;
for i:=2 to n do
if ar[i]<ar[min_ind] then
min_ind:=i;

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

это, кстати, позволит тебе переделать poisk_max из процедуры в функцию.
что, на мой взгляд, с учетом учебной, а не практической направленности данной задачи будет плюсом - ты покажешь преподу, что умеешь работать с обоими видами подпрограмм.

З.Ы. Если бы преподы ТАК принимали лабораторные shok.gif

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Айра   Минимум среди максимумов матрицы   9.12.2007 2:27
Michael_Rybak   Вообще все хорошо. У меня было бы два таких неболь…   9.12.2007 4:11
Айра   Спасибо!)) Все поняла, исправила. Только один …   9.12.2007 4:39
Michael_Rybak   Инкапсулировать - это значит собирать в капсулу, д…   9.12.2007 4:49
volvo   Инкапсулировать - от слова "капсула" - с…   9.12.2007 4:53
Айра   to Michael_Rybak Понятно. Еще раз спасибо за подро…   9.12.2007 4:55
Michael_Rybak   to Michael_Rybak Понятно. Еще раз спасибо за подр…   9.12.2007 5:02
Michael_Rybak   (передавай матрицу по константной ссылке, если не…   9.12.2007 4:59
мисс_граффити   может, я сейчас скажу не совсем правильные вещи...…   9.12.2007 5:01
Айра   to volvo: тоже разобралась, спасибо! to мисс_г…   9.12.2007 5:20
мисс_граффити   нумерация пунктов та же :) 1) комментарии напиши..…   9.12.2007 6:09
Айра   Т.е. получится что-то типа такого: const n=5; …   9.12.2007 6:55
volvo   Оля, смотри, что можно сделать: const n = 5; …   9.12.2007 7:24
Айра   volvo, спасибо! :give_rose: У меня были мысл…   10.12.2007 4:28
volvo   Вектор - одномерный, массив векторов - уже двумерн…   10.12.2007 4:36
Айра   Точно! Еще раз пасибо))   10.12.2007 4:40


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 16:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name