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

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

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

> нахождение минимального элемента матрицы в виде функции
ulika
сообщение 18.04.2010 20:50
Сообщение #1





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

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


9. Сформировать двумерный массив Z размером 3 x 11 с помощью генератора случайных чисел и вывести элементы массива на экран и в файл. Вычислить сумму положительных элементов строки, в которой находится минимальный элемент матрицы Z (оформить нахождение минимального элемента в виде функции). Вывести на экран и в файл полученную сумму и номер строки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
ulika
сообщение 19.04.2010 19:31
Сообщение #2





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

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


вот так я вижу программу, только по-прежнему не могу понять как пользоваться функцией((
извините за неправильное оформление, прочитала правила, но не совсем получается строго им следовать)

Добавлено через 4 мин.
program kontrolnaya;
const N1=5;N2=11;
var i,j,c,sum:integer;
mas:array[1..N1,1..N2]of integer;
f:text;

function get_min:integer;
begin
min:=mas[1,1];
for i:=1 to N1 do
for j:=1 to N2 do
if mas[i,j]<min then
begin
get_min:=mas[i,j];
c:=i;
end;
end;

begin
randomize;
assign (f,'matrica.txt');
rewrite(f);
for i:=1 to N1 do
begin
for j:=1 to N2 do
begin
mas[i,j]:=random(201)-100;
write (mas[i,j]:5);
write(f,mas[i,j]:5);
end;
writeln;
writeln(f);
end;

// не знаю как вызвать номер строки где находится минимум, потом считаю сумму//

sum:=0;
i:=//номер строки//
for j:=1 to N2 do
sum:=sum+mas[i,j];
close(f);
read(mas[i,j],sum);
end.



Прикрепленные файлы
Прикрепленный файл  progr.txt ( 716 байт ) Кол-во скачиваний: 189
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.04.2010 20:13
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


ulika, оформить функцию несложно, но с точки зрения ПРОГРАММИРОВАНИЯ не вполне ясно, какие параметры тебе нужно передать в эту функцию. По идее, нужно передавать матрицу, но тогда возникает вопрос о ее размерности и о том, знаешь ли ты об открытых массивах. Прояснишь?

Если не передавать массив, то все предельно просто. Примерно так:
function MinRow: integer;  // исправлено
var
i,j,x,y: integer;
begin
x:=1;
y:=1;
for i:=1 to N1 do for j:=1 to N2 do if mas[i,j]<mas[x,y] then begin
x:=i;
y:=j
end;
MinRow:=x
end;


Потом делаешь:
i:= MinRow; //номер строки//

И все )).

Цитата(ulika @ 19.04.2010 20:31) *
прочитала правила, но не совсем получается строго им следовать)
А с чем конкретно проблема? blink.gif

Сообщение отредактировано: Lapp - 19.04.2010 21:08


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 21.07.2025 11:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"