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

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

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

> Помогите с ошибкой
lsdy
сообщение 24.05.2007 21:16
Сообщение #1





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

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


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

Program matr;
Uses crt;
const
max=10;

Var
i,j,n,m,x,k:integer;
a:array [1..max,1..max] of integer;
b:array [1..max,1..max] of integer;
candidat:integer;
sum:real;
Begin
ClrScr;
Textcolor(6);
Writeln('predupregdenir');
repeat
textcolor(2);
writeln('vvod');

readln(n);
writeln ('vvod');
readln(m);
if (n<0) or (m<0) or (m>max )then
writeln('vi vveli ne dopustimie zna4enija')
until (n>0) and (n<max) and (m>0) and (m<max);

writeln('‚ў®¤ ¬ ваЁжл');
for i:=1 to n do
for j:=1 to m do
begin
write ('elementi ',i,' н«Ґ¬Ґ­в ',j,'stolbca:');
readln(a[i,j]);
end;
writeln('isxodnaya');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:3);
writeln;
end;
for i:=1 to n do
b[j,1]:=a[i,m];
for i:=1 to n-1 do
for j:=1 to n do
if b[j,m]<b[j,1] then begin
k:=b[j,1];
b[j,1]:=b[j,m];
b[j,m]:=k
end;
for j:= 1 to n do
begin
if a[j,m]<>b[j,1] then
begin
for j:=1 to n do
if a[j,m]=b[j,1] then b[j,2]:=j
end
else b[j,2]:=j;
end;


writeln('®вб®авЁа®ў ­­ п ¬ ваЁж ');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:3);
writeln;
end;
K:=0;
for i:=1 to n do
k:=k+a[i,j];
sum:=k/n;
write('б।­ҐҐ  аЁд¬.=',sum:0:3);
repeat until keypressed;
end.


Сообщение отредактировано: lsdy - 24.05.2007 22:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
lsdy
сообщение 24.05.2007 21:39
Сообщение #2





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

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


Помогите горит очень!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 24.05.2007 22:19
Сообщение #3


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

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

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


Если хотите получить помощь - как минимум, с уважением относитесь к собеседникам и соблюдайте правила (они написаны наверху страницы).Особенно это касается тегов.
Настоятельно рекомендую внести исправления.


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





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

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


Цитата(мисс_граффити @ 24.05.2007 23:19) *

Если хотите получить помощь - как минимум, с уважением относитесь к собеседникам и соблюдайте правила (они написаны наверху страницы).Особенно это касается тегов.
Настоятельно рекомендую внести исправления.
Понял.
Помогите плз поиском нашел многое но не много не то((А думать голова не может а отладить срочно надо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 24.05.2007 23:00
Сообщение #5


Профи
****

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

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


По-моему, сортировка должна выглядеть так:
  for z:=2 to n do
for j:=n downto z do
begin
if a[j-1,m]>a[j,m] then
begin
k:=a[j-1,m];
a[j-1,m]:=a[j,m];
a[j,m]:=k;
end;
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.05.2007 0:23
Сообщение #6


Гость






Цитата
По-моему, сортировка должна выглядеть так:
no1.gif Не совсем... Несмотря на то, что сравниваться должны только элементы последнего столбца, менять -то местами надо строки, а не только элементы этого самого столбца:

for z:=2 to n do
for j:=n downto z do begin
if a[j-1,m]>a[j,m] then
for p := 1 to m do begin { меняем местами строки полностью }
k:=a[j-1,p];
a[j-1,p]:=a[j,p];
a[j,p]:=k;
end;
end;

 К началу страницы 
+ Ответить 
Айра
сообщение 25.05.2007 5:50
Сообщение #7


Профи
****

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

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


Спасибо, что поправил smile.gif опять я невнимательно читаю задание(((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
lsdy
сообщение 25.05.2007 6:42
Сообщение #8





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

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


Айра,вольво респект.Будете в г.Йошкар-Ола звоните(+79600917742) помогу чем смогу !!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
lsdy
сообщение 31.05.2007 22:24
Сообщение #9





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

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


Еще вопрос как сделать чтоб отсортированный столбец записывало в txt файл?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 31.05.2007 23:40
Сообщение #10


Профи
****

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

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


Можно воть так, если всю матрицу (вдруг понадобится)))) записывать:

var f: text;
...
assign(f,'rezult.txt');
rewrite(f); {если делать так, то файл будет создаваться сам там же где живет код программы}
for i:=1 to n do
begin
for j:=1 to m do
begin
write(f,a[i,j]);
end;
writeln(f);
end;
close(f);
...

и так, только для столбца:

var f: text;
...
assign(f,'rezult.txt');
rewrite(f);
for i:=1 to n do
begin
writeln(f,a[i,m]);
end;
close(f);
...




p.s. проверяла на другой программке, но вроде работает))

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

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

 



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