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

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

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

> Матрица, Сортировка по суме элементов столбцов
TS*
сообщение 10.12.2006 0:01
Сообщение #1


Пионер
**

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

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


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

uses
crt;
const
m=5; n=7;
type
realm = array[1..n] of real;
var
mA: array[1..m] of realm;
mS: array[1..n] of real;
tr: boolean;
e, v: integer; rr, tt: integer;

procedure fill_matrix(var mF: array of realm;ll, mm: integer);
var
l, m: integer;
begin
randomize;
for l:=1 to ll do begin
for m:=1 to mm do
begin
mF[l, m]:=random(300)-150;
end; end;
end;

function suma_el_st(mT: array of realm;i, j: integer): real;
var
k: integer;
suma: real;
begin
suma:=0;
for k:=1 to i do
suma:=suma+mT[k, j];
suma_el_st:=suma;
end;

procedure perestanovka_st(mP: array of realm; x, y: integer);
var
f: integer;
begin
for f:=1 to m do
begin
mP[x, f]:=mP[x, f]+mP[y, f];
mP[y, f]:=mP[x, f]-mP[y, f];
mP[x, f]:=mP[x, f]-mP[y, f];
end;
end;

begin
fill_matrix(mA, m, n);
{sort}
repeat
tr:=true;
for e:=1 to n-1 do begin
if suma_el_st(mA, e, n) < suma_el_st(mA, e, n+1) then begin
perestanovka_st(mA, n, n+1);
tr:=false;
end;
end;
until tr;

for rr:=1 to n do begin
for tt:=1 to m do
begin
write(mA[rr, tt]);
end;
writeln;
end;
end.

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


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


Цитата
и я не отнимаю масивы, а элементы

Извиняюсь перепутал.


У тебя походу идет переполнение стека + почему ты в процедуре perestanovka_st переменную mP: array of realm не под Var поставил? Какая от нее тогда польза? Поставь Var, должно помочь.

Сообщение отредактировано: Bokul - 10.12.2006 0:51


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
TS*   Матрица   10.12.2006 0:01
Алена   mP[x, f]:=mP[x, f]+mP[y, f]; mP[y, f...   10.12.2006 0:14
TS*   mP[x, f]:=mP[x, f]+mP[y, f]; mP[y, ...   10.12.2006 0:31
Bokul   Ну во-первых, если программа не компилируется, то...   10.12.2006 0:21
Bokul   Извиняюсь перепутал. У тебя походу идет перепо...   10.12.2006 0:50
TS*   Извиняюсь перепутал. У тебя походу идет переполн...   10.12.2006 2:07
Алена   А каким образом у тебя возникает переполнение? Где...   10.12.2006 2:13
TS*   А каким образом у тебя возникает переполнение? Гд...   10.12.2006 2:45
Алена   TS*, ты выбрал не самый правильный способ представ...   10.12.2006 9:37
TS*   TS*, ты выбрал не самый правильный способ предста...   10.12.2006 12:45
-xxx-   напиши в конце как получилась гтовая прога плз   10.12.2006 12:48
TS*   uses crt; const m=5;{stroki} n=7;{stolbcu...   10.12.2006 15:04
Алена   TS* :no1: Не то... Смотри, что она у меня выводит...   10.12.2006 16:35
TS*   TS* :no1: Не то... Смотри, что она у меня выводи...   11.12.2006 3:23
Bokul   Есть два преимущества: 1 предохраняет от случайно...   11.12.2006 3:50


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

 



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