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

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

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

> процедуры и двумерный массив
сообщение
Сообщение #1


Профи
****

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

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


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

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

проблема в том, что процедуры для меня - новая тема, я ее еще не достаточно освоила, а задание нужно к середине недели

for i:=1 to n do
for k:=1 to n-1 do
if j:=1 to n-k do
if a[i,j]<a[i,j+1] then
begin
t:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=t;
end;



b:=0;
for i:=1 to n do
for j:=1 to i do
a[i,j]:=b;


больше ничего не могу...

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

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


Гость






В процедуру сортировки зачем передаешь A, B, C? Лучше описать их локально внутри процедуры, иначе я повторяю - нет смысла делать процедуры, и заставлять их работать с глобальными переменными...

Второе: ты должна работать с той же самой матрицей, которую передаешь в процедуру. Иначе потом, когда тебе понадобится отсортировать не одну, а 2 матрицы, ты начнешь спрашивать, почему тебе для этого придется написать такую же процедуру два раза (чтобы матрица Y после второй сортировки не затерла первую...)

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

procedure sortirovka(var y: matr; m: integer);
var
a, b, L: integer;
c: real;
begin
for a:=1 to m do
for l:=1 to m-1 do
for b:=1 to m-l do
if y[a,b]<y[a,b+1] then begin
c:=y[a,b];
y[a,b]:=y[a,b+1];
y[a,b+1]:=c;
end
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

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

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


Цитата(volvo @ 5.11.2006 18:49) *

В процедуру сортировки зачем передаешь A, B, C? Лучше описать их локально внутри процедуры, иначе я повторяю - нет смысла делать процедуры, и заставлять их работать с глобальными переменными...

Второе: ты должна работать с той же самой матрицей, которую передаешь в процедуру. Иначе потом, когда тебе понадобится отсортировать не одну, а 2 матрицы, ты начнешь спрашивать, почему тебе для этого придется написать такую же процедуру два раза (чтобы матрица Y после второй сортировки не затерла первую...)

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

procedure sortirovka(var y: matr; m: integer);
var
a, b, L: integer;
c: real;
begin
for a:=1 to m do
for l:=1 to m-1 do
for b:=1 to m-l do
if y[a,b]<y[a,b+1] then begin
c:=y[a,b];
y[a,b]:=y[a,b+1];
y[a,b+1]:=c;
end
end;


а как мне вывести массив после сортировки и массив после обнуления с учетом процедур?


М
Не надо делать такие большие цитаты, когда это не необходимо. Уважай других участников форума. klem4.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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