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

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

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

> работа с текстовыми записями файлами, перечень судов с указанием главного двигателя
сообщение
Сообщение #1


гений чегото
**

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

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



требуется создать в текстовом редакторе входной текстовой файл input.txt, куда следует поместить файл содержащий указанную в задании информацию. Далее необходимо разработать структуированнную программу,которая должна прочить данные из этого файла в оперативную память компьютера,осущиствить преобразование этой информации и вывести в требуемой форме в выходной текстовой форме output.txt

HELP!!!!!!!!!! wacko.gif blink.gif



input.txt:
kolomna-MAN; lukhvitsy - MAN; ulan bator - MAN ;novozybkov-SULTZER; boris korniliv - sultzer; vyborg - MAN ;
mravincki -MAN
Output.txt:
MAN(mravincki,kolomna,lukhvitsy,vyborg);SULTZER(boris korniliv,novozybkov)


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


Гость






Вот это:
const
n = 100;
type
rec = record
ix_drive: integer;
name: string;
end;

var
i_drive, i_ship: integer;
drive: array[1 .. n] of string;
ship: array[1 .. n] of rec;

procedure sort_by_drive(var arr: array of rec; const n: integer);
var
i, j: integer;
T: rec;
begin
for i := 1 to n do
for j := n downto i+1 do
if arr[Pred(j) - 1].ix_drive < arr[j - 1].ix_drive then begin
T := arr[Pred(j) - 1];
arr[Pred(j) - 1] := arr[j - 1];
arr[j - 1] := T;
end;
end;

function trim(s: string): string;
begin
while (s[1] = ' ') and (s <> '') do delete(s, 1, 1);
while (s[length(s)] = ' ') and (s <> '') do delete(s, length(s), 1);

trim := s;
end;

function upstr(s: string): string;
var i: integer;
begin
s := trim(s);
for i := 1 to length(s) do
s[i] := upcase(s[i]);
upstr := s;
end;

procedure add_new(s: string);
var
i: integer;
found: boolean;
p: integer;
begin
i := 1; found := false;
p := pos('-', s);
while (i <= i_drive) and (not found) do
if drive[i] = upstr(copy(s, succ(p), 255)) then found := true
else inc(i);

if not found then begin
inc(i_drive);
drive[i_drive] := upstr(copy(s, succ(p), 255));
i := i_drive;
end;
inc(i_ship);
with ship[i_ship] do begin
ix_drive := i;
name := trim(copy(s, 1, pred(p)));
end;
end;

var
fin, fout: text;
s: string;
i, p: integer;

begin
assign(fin, 'input.txt'); reset(fin);
i_drive := 0; i_ship := 0;

while not eof(fin) do begin
readln(fin, s);
repeat
p := pos(';', s);
if p <> 0 then begin
add_new(copy(s, 1, p - 1));
delete(s, 1, p);
end;
until p = 0;
if s <> '' then add_new(s);
end;

sort_by_drive(ship, i_ship);

for i := 1 to i_ship do begin
if (i = 1) or (ship[i].ix_drive <> ship[i-1].ix_drive) then begin
if i > 1 then write('); ');
write(drive[ship[i].ix_drive], '(')
end
else write(', ');
write(ship[i].name);
end;
write(');');

close(fin);
end.
напечатает тебе результат на экране... Доделай так, чтобы этот результат выводился в файл...
 К началу страницы 
+ Ответить 

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


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

 





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