Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2011, 01:33   #1
Сержuk
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 21
Сообщение Задачи на Record в Pascal'e

Во входном файле дан список государств с указанием площади и их столицы.
Код HTML:
Австрия         84   Вена
Бельгия         31   Брюссель
Великобритания  244  Лондон
Германия        357  Берлин
Франция         544  Париж
Италия          301  Рим
Греция          132  Афины
Дополнить этот файл пятью новыми записями с клавиатуры, чтобы получить следующее:
Код HTML:
Австрия         84   Вена
Бельгия         31   Брюссель
Великобритания  244  Лондон
Германия        357  Берлин
Франция         544  Париж
Италия          301  Рим
Греция          132  Афины
Испания         504  Мадрид
Швеция          449  Стокгольм
Норвегия        324  Осло
Дания           43   Копенгаген
Румыния         237  Бухарест
Найти самую маленькую страну по площади из перечисленного и вывести в выходной файл ее столицу и площадь, должно получиться следующее:
Код HTML:
Самая маленькая страна:  Брюссель  31
Код программы:
Код:
PROGRAM A9;
USES CRT;
TYPE ZAP=RECORD
     COUNTRY:STRING[16];
     AREA:STRING[5];
     CAPITAL:STRING[11];
    END;
VAR INP,OUT:TEXT; Z:ZAP;
K:1..6; P,MIN:WORD; I,LCO:1..16; LCA:1..11;
BEGIN
  CLRSCR;
  ASSIGN(INP,'C:\A9.in'); APPEND(INP);
  FOR K:=1 TO 5 DO
    BEGIN
      WRITELN('Введите название страны');
      READLN(Z.COUNTRY);
      WRITELN('Введите площадь страны');
      READLN(Z.AREA);
      WRITELN('Введите столицу страны');
      READLN(Z.CAPITAL);
      FOR I:=1 TO 12 DO READLN(Z.AREA[P]); READLN;
      Z.COUNTRY:=Z.COUNTRY+'  ';
      LCO:=LENGTH(Z.COUNTRY);
      IF LCO<16 THEN
       FOR I:=LCO+1 TO 12 DO INSERT(' ',Z.COUNTRY,I);
      LCA:=LENGTH(Z.CAPITAL);
      IF LCA<11 THEN
       FOR I:=LCA+1 TO 11 DO INSERT(' ',Z.CAPITAL,I);
      WRITE(INP,Z.COUNTRY,Z.AREA,Z.CAPITAL);
      WRITELN(INP);
    END;
  CLOSE(INP); RESET(INP);
  ASSIGN(OUT,'C:\A9.out'); REWRITE(OUT);
  WRITELN(OUT,'Самая маленькая страна':2);
  REPEAT
  READ(INP,Z.COUNTRY,Z.AREA,Z.CAPITAL);
  FOR I:=1 TO 12 DO READLN(INP,Z.AREA[P]);
  READLN(INP);
  MIN:=Z.AREA[I];
  FOR P:=1 TO WORD DO
   BEGIN
    IF P<MIN THEN
      BEGIN
        WRITE(OUT,Z.CAPITAL,Z.AREA);
      END;
      BREAK
   END;
  UNTIL EOF(INP);
  CLOSE(INP);
  CLOSE(OUT);
END.
Помогите исправить ошибку
Сержuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две задачи на Pascal'e Pocker Помощь студентам 7 26.06.2010 15:35
В чём различие записей Record от Packed Record? Terran Общие вопросы Delphi 7 08.06.2010 17:14
Record / Packed Record Alex Cones Общие вопросы Delphi 7 11.11.2009 10:43
помогите пожалуйста решить задачи в PASCAL'e. bear12345 Помощь студентам 6 04.03.2009 20:54
Переделка задачи на Record Impario Помощь студентам 14 16.02.2009 18:49