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

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

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

> Отсортировать строки по алфавиту. Как?
Child of Bodom
сообщение 25.12.2006 14:18
Сообщение #1


Новичок
*

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

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


Привет всем. я тут новичок. И мне очнеь срочно нужна ваша помощь. Помогите очень прошу. Задача такова:
В текстовой файле 5-8 строк. Мне надо отсортировать их по алфавиту. То есть строки надо отсортировать по фамилиям , находящимсяпрямо в начале всех строк. Вывести на экран это получается , а вот с процедурой сортировки что то совсем никак!!! помогите а то отсался последний зачет получить а тут такая вот чтука. В FAQе уже не однократно был -но там же ничего не понятно. Вот примерно что у меня получилось

Program Zadanie_3;
uses crt;
var f,g:text;
str:array [1..5] of string;
procedure vivod (var f:text);
var i:integer;
begin
reset(f);
i:=1;
while not eof(f) do
begin
readln(f,str[i]);
writeln(str[i]);
i:=i+1;
end;

end;
procedure alfavit;
var x: string;
i,j: integer;
str:array [1..5] of string;

begin
reset(f);
rewrite(g);
i:=1;
for i:=1 to 5 do
begin
for j:=5 downto 1 do
begin
if str[i+1]>str[i] then
begin
x:=str[i];
str[i]:=str[i+1];
str[i+1]:=x;
writeln (str[i]);
end;
end;
end;

erase(f);
rename(g,'temp.txt');
reset(f);
close(g);
end;

BEGIN
clrscr;
assign (f,'BOLNICTA.txt');
assign (g,'temp.txt');
vivod(f);
readln;
clrscr;
alfavit;
readln;
end.


Текстовый файлик вкладываю:

Сообщение отредактировано: volvo - 25.12.2006 14:44


Прикрепленные файлы
Прикрепленный файл  BOLNITCA.TXT ( 241 байт ) Кол-во скачиваний: 252
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 25.12.2006 14:55
Сообщение #2


Гость






Смотри на комментарии:
procedure alfavit;
var x: string;
i,j: integer;
{ str:array [1..5] of string; } { <--- Эта строка - не нужна }

begin
reset(f);
rewrite(g);
i:=1;
for i:=1 to 5 do
begin
for j:=5 downto i + 1 do { <--- До i + 1, а не до i }
begin
if str[j - 1]>str[j] then { <--- Здесь работаем по индексу ВНУТРЕННЕГО цикла }
begin
x:=str[j];
str[j]:=str[j-1];
str[j-1]:=x;
{ writeln (str[i]); } { <--- Печатаем не здесь }
end;
end;
writeln (str[i]); { <--- А вот тут }
writeln (g, str[i]); { <--- В файл тоже не забываем занести }
end;

erase(f);
close(g); { <--- Сначала закроем файл, чтобы не потерять результаты }
rename(g,'temp.txt'); { и только потом - переименуем }
{ reset(f); } { <--- Этого делать не надо, ты уже удалил файл }
end;

Остальная часть программы остается без изменений...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Child of Bodom   Отсортировать строки по алфавиту. Как?   25.12.2006 14:18
volvo   Смотри на комментарии: procedure alfavit; var x: s...   25.12.2006 14:55
Child of Bodom   Что то она не работает должным образом:первые букв...   25.12.2006 18:18
volvo   На твоем примере все работает безошибочно... Ничег...   25.12.2006 18:31
Child of Bodom   Это очень странно. У меня первые 2 убираются, и сп...   25.12.2006 18:49
volvo   Ну-ка, выложи еще раз ИСПРАВЛЕННЫЙ код сюда, посмо...   25.12.2006 19:00
Child of Bodom   Вот он: Program Zadanie_3; uses crt; var f,g:text...   25.12.2006 19:06
volvo   Ну, я же тебе написал, "читай комментарии...   25.12.2006 19:11
Child of Bodom   Все i переделал на j. Я попробовал в самом текстов...   25.12.2006 19:23
Child of Bodom   Знатоки помогите пожалуйста. Срочно очень нужно ре...   25.12.2006 19:58
volvo   У всех все срочно, блин... Ты вчера где был? А нед...   25.12.2006 20:07
Гость   Знаете что я вам скажу:вы волшебник. Все заработал...   25.12.2006 20:15
мисс_граффити   для начала вот эту: рекомендацию выполни!   25.12.2006 20:55
Гость   Не могу найти кнопки изменить!!!Но на ...   26.12.2006 9:27
volvo   В процедуре сортировки замени if str[j - 1]>str...   26.12.2006 10:35


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

 



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