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

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

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

> Проблемы с сортировкой!
Spaun
сообщение 7.01.2009 20:45
Сообщение #1


Новичок
*

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

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


Дела обстоят так, есть 2 сортировки, при первом запуске любой из них работают нормально, как только просмотришь результ и начинаешь делать вторую сортировку такое ощущение что последняя строка дописывается поверху, при чем без разницы какая из сортировок запускалась первой. Помогите кто чем может, заранее благодарен.
Вот код сортировки:

Procedure Sortirovka;
var
T:ykazatel;
k,i,j:integer;
st:array[1..30] of ykazatel;
Begin
RestoreCrtMode;
assign(f,filename);
reset(f);
case z of
1: Begin
writeln('***‘®авЁа®ўЄ  Ї® ¬ аЄЁ Ё ¬®¤Ґ«Ё ⥫Ґд®­ ***');
Delay(50000);
k:=1;
while not eof(f) do
Begin
read(f,st[k]);
k:=k+1;
End;
Begin
For i:=1 to n do
Begin
For j:=1 to n do
If st[j].MobileMark<st[j+1].MobileMark then
Begin
T:=st[j];
st[j]:=st[j+1];
st[j+1]:=T;
End;
End;
End;
For i:=1 to n do
Begin
For j:=1 to n do
If st[j].MobileMark=st[j+1].MobileMark then
If st[j].Mobile<st[j+1].Mobile then
Begin
T:=st[j];
st[j]:=st[j+1];
st[j+1]:=T;
End;
End;
close(f);
rewrite(f);
For j:=n downto 1 do
Begin
write(f,st[j]);
read;
End;
TextAttr:=2;
writeln('’Ґ«Ґд®­л ®вб®авЁа®ў ­­л!');
TextAttr:=15;
readln;
close(f);
End;
2: Begin
writeln('***‘®авЁа®ўЄ  Ї® бв®Ё¬®б⨠⥫Ґд®­ ***');
Delay(50000);
k:=1;
while not eof(f) do
Begin
read(f,st[k]);
k:=k+1;
End;

Begin
For i:=1 to n do
Begin
For j:=1 to n do
If st[j].Cost<st[j+1].Cost then
Begin
T:=st[j];
st[j]:=st[j+1];
st[j+1]:=T;
End;
End;
End;
close(f);
rewrite(f);
For j:=n downto 1 do
Begin
write(f,st[j]);
read;
End;
TextAttr:=2;
writeln('’Ґ«Ґд®­л ®вб®авЁа®ў ­­л!');
TextAttr:=15;
readln;
close(f);
End;
End;
SetGraphMode(GetGraphMode);
End;



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


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

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

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


Spaun, твоя процедура достаточно длинная, желательно, чтоб она компилировалась. Глазами трудно смоделировать работу программы такого размера. Добавь недостающие типы и перменные.

Добавлено через 2 мин.
А также очень желательно присовокупить файл, который она читает.
Спасибо.


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

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


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

 



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