Консультация № 72040
22.01.2007, 09:37
0.00 руб.
0 1 1
Здраствуйте товарищи программисты!Помогите с решением задачи!Вот условие:
Работа с текстовыми файлами:
Список городов с указанием континента.
Input.txt:
Лондон - Европа; Токио - Азия; Париж - Европа; Сидней - Австралия; Москва - Европа; Пекин - Азия; +
Output.txt:
Австралия: Сидней;
Азия: Пекин, Токио;
Европа: Лондон, Москва, Париж;
Напишите пожалуйста полностью программу, а то мне уже писали основную функцию этой программы, а доделать мне ни как!P.S.Если не понятно как я сформулировал условие, то пишите в ICQ 491292319!

Обсуждение

Неизвестный
22.01.2007, 18:09
общий
это ответ
Здравствуйте, SHTEP!

Что-то в этом роде, но я не компилировала. Расчитано, чтобы в файле входных данных была одна строка указанного Вами формата. Если что не так, пишите. Удачи)

Приложение:
Type sk = record s: string [10]; k: string [10]; End;Var vv: array [1..20] of sk; f1, f2: text; buf: string; c: char; i, j, n, d: integer;Begin assign (f1, "input.txt"); assign (f2, "output.txt"); reset (f1); readln (f1, buf); close (f1); i:= 0; j:= 0; while buf [i]<>‘+‘ do begin d:=0; n:= i; while buf [i]<>‘ ‘ do begin inc (i); inc (d); end; vv [j]:= copy (buf, n, d); inc (j); i:= i+2; end; j:= j-1; i:= 0; rewrite (f2); for i:=0 to j do begin if vv [i].k=‘‘ then continue; write (f2, vv[i].k, ‘: ‘, vv[i].s, ‘;‘); for d:=0 to j do if (k<>i) and (vv[d].k=vv[i].k) then begin write (f2, ‘ ‘, vv[d].s, ‘;‘); vv[d].s=‘‘; vv[d].k=‘‘; end; vv[i].k=‘‘; vv[i].s=‘‘; end; close (f2);end.
Форма ответа