Дан файл Tovar, содержащий сведения об экспортируемых товарах: указываются наименование товара, страна, импортирующая товар, и объём поставляемой партии в штуках. Составить список стран, в которые экспортируется данный товар, и указать общий объём его экспорта. — Pascal(Паскаль)

Входящий файл:
Tovar1
Россия
12
Tovar1
Германия
25
Tovar3
Франция
45
Tovar1
Россия
36
Tovar5
Франция
45
Tovar3
Россия
58

Выходной файл:
Список Стран:Россия,Германия,Россия
Общий объем:73
Program Cex;

var
  f: text; { текстовая переменная }
  TempValue, i, Count, Error: integer;
  Strans, N: string;
  InfoArr: array [1 .. 3] of string;
  { массив информации о твоем товаре и остальном }

Procedure SaveFile; { сохранение инфы в файл }
var
  q: text;
begin
  assign(q, 'Result.txt');
  rewrite(q);
  writeln(q, 'Список Стран:', Strans);
  writeln(q, 'Общий объем:', Count);
  close(q);
end;

procedure Info;
begin { разделяем }
  if Length(Strans) <> 0 then
    Strans := Strans + ',' + InfoArr[2]
  else
    Strans := InfoArr[2]; { Добавим нашу страну в список }
  val(InfoArr[3], TempValue, Error);
  { Конвертируем строку в число импорт. товара }
  Count := Count + TempValue; { суммируем }
end;

BEGIN
  writeln('Vvedite n');
  Readln(N);
  assign(f, 'Tovar.txt'); { файл Tovar.txt }
  Reset(f);
  While not(eof(f)) do { циклимся пока не конец }
  begin
    Readln(f, InfoArr[1]); { читаем наименование }
    Readln(f, InfoArr[2]); { страна }
    Readln(f, InfoArr[3]); { количество }
    if InfoArr[1] = N then
      Info; { если есть такое число в страке с инфой то перепроверем }
  end;
  close(f);
  SaveFile; { сохраним в файл инфу }
  Readln;

END.

{ P.S. <if pos(nStr,temp)<>0 then Info(temp,nStr);>не является совершенным методом проверки,но работает на ура }

Leave a Comment

− 1 = 1