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

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

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

> Сортировка файла
сообщение
Сообщение #1


Новичок
*

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

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


Доброго времени суток.
Вот задача упорядочения данных файла.(файл неструктурированный!) (не могу решить вообще :-), выручайте!)

В файле содержится инфа в таком виде:
<название_объекта_1>, <размерность_обЪекта_1>
<название_объекта_2>, <размерность_обЪекта_2>
<название_объекта_3>, <размерность_обЪекта_3>
...
...
и т.д.
(сколько угодно обЪектов)


В НОВЫЙ файл переписать упорадоченную, например, по убыванию "размерности_объекта" инфу, т.е., например:
если "<размерность_обЪекта_2>" больше "<размерность_обЪекта_1>" и всех остальных, а "<размерность_обЪекта_1>" больше "всех остальных", то в новый файл переписывается:
<название_объекта_2>, <размерность_обЪекта_2>
<название_объекта_1>, <размерность_обЪекта_1>
<название_объекта_3>, <размерность_обЪекта_3>
...
...
и т.д.


Заранее благюдарю за помощь! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


Решил эту задачу.
Одно замечание: в исходном файле с данными, данные хранятся в виде:
<название объекта1>
<размерность1>
<пустая строка>
<название объекта2>
<размерность2>
<пустая строка>
<название объекта3>
<размерность3>
...
(мне так легче считывать в структуру)
(у меня задание было про реки и их протяженность)


Program Rivers;
Uses
Crt;
Type
River = Record
Name : String;
Length : Integer;
END;

Var
Mas : Array[1..100] Of River;
Input, Output : Text;
I, J, N : Integer;
BufName : String;
BufLength : Integer;
NameOfFile : String;

BEGIN
ClrScr;
Write('Enter name of file : ');
Readln(NameOfFile);
Assign(Input,'Input.txt');
Reset(Input);
assign(Output,'Output.txt');
Rewrite(Output);
While (NOT EOF(Input)) Do
BEGIN
Inc(I);
ReadLn(Input,Mas[I].Name);
ReadLn(Input,Mas[I].Length);
ReadLn(Input);
end;
For N := 1 To I - 1 Do
For J := 1 To (I - N) Do
If Mas[J].Length < Mas[J + 1].Length Then
BEGIN
BufName := Mas[J].Name;
Mas[J].Name := Mas[J + 1].Name;
Mas[J + 1].Name := BufName;
BufLength := Mas[J].Length;
Mas[J].Length := Mas[J + 1].Length;
Mas[J + 1].Length := BufLength;
END;
For J := 1 To (I - 1) Do
BEGIN
WriteLn(Output, Mas[J].Name);
WriteLn(Output, Mas[J].Length);
WriteLn(Output);
END;
Close(Input);
Close(Output);
END.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 23.04.2024 23:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name