![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
![]()
Сортировку файла я сделала, сортировка динамических списков такая же, с ней я не могу справиться.Помогите пожалуйста решить сортировку динамических списков, в понедельник сдавать, на грани вылета из ВУЗа, осталась эта последняя задача и я - спасена.
Условие: Сортировка динамического списка с возвратом на один шаг после обмена. Просматривают динамический список до тех пор, пока не обнаружится, что первый элемент пары больше второго. В этом случае элементы пары меняются местами, и просмотр продолжают с предыдущего (обработанного на предыдущем шаге) элемента динамического списка. Сортировку завершают, когда динамический список просмотрен до конца. (задачка на файл) var Form1: TForm1; sim:string; fname:string; fS:textfile; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin If OpenDialog1.Execute then If OpenDialog1.Filename<>'' Then Begin fname:=OpenDialog1.Filename; Form1.StaticText1.Caption:=(fname); AssignFile(FS, fname); {$i-} Reset(FS); {$i+} if IOResult<> 0 then Begin ShowMessage('Ошибка в открытии файла '+fname); exit; End; readln(FS,sim); CloseFile(FS); if Length(sim)>0 then Button1.Enabled:=True; end; end; procedure TForm1.Button1Click(Sender: TObject); var Flag:boolean; Temp:char; i:integer; begin repeat Flag := False; for i := 0 to Length(sim)-1 do if sim[i] > sim[i + 1] then begin Temp := Sim [i]; Sim [i] := Sim [i + 1]; Sim [i + 1] := Temp; Flag := True; end; until Flag = False; fname:=fname+'_res.txt'; AssignFile(FS, fname); {$i-} Rewrite(FS); {$i+} if IOResult<> 0 then Begin ShowMessage('Ошибка Записи файла '+fname); exit; End; Writeln(FS,sim); CloseFile(FS); label1.Caption:='Записан файл результатов '+fname; Button1.Enabled:=false; end; end. |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
То, что Вы сделали для файлов, это не сортировка с возвратом. Код:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
![]()
Большое-прибольшое спасибо за задачку!
А что же не так с сортировкой файла? Помогите пожалуйста разобраться, завтра сдавать. Вопрос жизни и смерти, я не шучу. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на сортировку... | Sota | Помощь студентам | 4 | 25.05.2008 19:26 |
Про сортировку | AlexMori | Общие вопросы Delphi | 3 | 11.01.2008 01:51 |
Задача на сортировку массива | Acid | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.06.2007 00:16 |