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

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

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

 
 Ответить  Открыть новую тему 
> Процедура, Создание процедуры для решения
Slipknot
сообщение 11.11.2006 7:14
Сообщение #1





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

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


У меня есть код для решения задачи с матрицей, но по своему растыцтву я не могу сделать из этого процедуру (а надо)

...
max:= a[1,2];
for i:= 1 to N-1 do
begin
for j:= i+1 to N do
begin
if a[i,j]> max
then max:= a[i,j];
end;
end;
s:=0;
for j:= 1 to N-1 do
begin
for i:= j+1 to N do
begin
if a [i,j]> max
then s:= s + a[i,j];
end
end;
...

Суть задачки в том, что надо отыскать максимум под главной диагональю, а потом просуммировать числа над главной диагональю которые больше него.

М
Пользуемся тегами !

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 11.11.2006 8:52
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Остальной код сектретная разработка ? Как описан масссив ? Что должна делать процедура ? Гадать никто на кофейной гуще никто не собирается.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Slipknot
сообщение 13.11.2006 8:32
Сообщение #3





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

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


Читай внимательно )
Цитирую себя же :"...Суть задачки в том, что надо отыскать максимум под главной диагональю, а потом просуммировать числа над главной диагональю которые больше него.
..." smile.gif
Задача целиком - даны две квадратные матрицы и надо просуммировать эл-ты над главной диагональю которые больше любого элемента под главной диагональю ну и соответственно выдать эти суммы на печать.

Сообщение отредактировано: Slipknot - 13.11.2006 8:34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 13.11.2006 8:47
Сообщение #4


Гость






А в чем, собсно, проблема? Выносишь код вверх, окаймляешь операторами
procedure MaxUnderMainDiag(...); {insert parameters}
var
i,j:integer;
... {add some more vars if needed}
begin
.... {here the code goes}
end;

- что еще?
Может, вопрос в том, как передать параметры? Тогда скажи, как ты хочешь передавать массив: по адресу или по имени?
 К началу страницы 
+ Ответить 
volvo
сообщение 13.11.2006 8:59
Сообщение #5


Гость






Цитата
по адресу или по имени?
Я что-то пропустил? Нововведение в Паскале? Всю жизнь это называлось по ссылке/по значению... Только вот смысла забивать стек передачей "по значению" - ровно никакого, хотя массив и не должен модифицироваться (НО если учесть, что многие описывают массивы как
array[1 .. 100, 1 .. 100] of integer
, а потом используют 10*10 из этого, то стека вообще не хватит... Кстати, Slipknot, теперь ты понял, почему klem4 задал тебе такой вопрос, а не просил цитировать тебя же?). Так что (Const Ar: ArrType) как раз подойдет...
 К началу страницы 
+ Ответить 

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

 



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