Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.12.2011, 23:04   #1 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Помогите с задачкой

Создайте текстовый файл данных о расписании движения поездов. Выведите на экран информацию о поездах, отправляющихся в Киев после 19:00.
Pyx вне форума   Ответить с цитированием

Старый 16.12.2011, 23:04
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Прошу вас, ознакомьтесь с похожими темами

Помогите с задачкой пожалуйста по С++.
Помогите с задачкой
Помогите с задачкой на сортировку обменом
Помогите с задачкой по графике

Старый 16.12.2011, 23:12   #2 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

program Rozklad;

{$APPTYPE CONSOLE}

uses
SysUtils;
var myfile: text;
zvidku: string[10];
kyda: string[10];
chas: real;
begin
assign (myfile ,'C:\Documents and Settings\Пользователь\Рабочий стол\АМП\ьбт\poizd.txt');
reset (myfile);
while not eof (myfile) do
begin
readln (myfile, zvidku, kyda, chas);
if kyda='Kiev '
then writeln (zvidku:10, kyda:10, chas:2:2);
end;
close (myfile);
readln
end.



Что не правильно подзкажите....
Pyx вне форума   Ответить с цитированием
Старый 17.12.2011, 11:03   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Pyx Посмотреть сообщение
Создайте текстовый файл данных о расписании движения поездов.
Выложите, пожалуйста, сам файл, чтобы можно было поместить его в нормальную (без, упаси Боже, кириллицы в путях!) директорию и запустить программу.
А так, на взгляд: требуется вывести данные о поездах, отправляющихся в Киев после 19:00, а значит нужно время отправления преобразовать в численный формат и вместо
if kyda='Kiev ' (кстати, никакого пробела после "v" быть не должно!)
записать
if (kyda='Kiev') and ({время отправления в числовом формате}>={19:00 тоже в числовом формате})
Могу помочь с конкретной реализацией, но только, повторяю, после того, как будет выложен файл данных.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.12.2011, 18:10   #4 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию текстовый файл

Код HTML:
Moskva    Kiev      22.30
Berlin    Odesa     09.00
Rum       Kiev      19.50
Yalta     Parish    19.30
Xarkiv    Kiev      15.25
Pyx вне форума   Ответить с цитированием
Старый 17.12.2011, 19:58   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну извольте (как видите, не так-то уж и просто):
Код:
var
 myfile: text;
 S,zvidku,kyda,time: string;
 chas: real;
 i,Code:Integer;

begin
 assign(myfile ,'D:\poizd.txt');
 reset(myfile);
 while not eof (myfile) do
  begin
   readln(myfile,S);
   i:=1;
   zvidku:='';
   while S[i]<>' ' do
    begin
     zvidku:=zvidku+S[i];
     Inc(i);
    end;
   while S[i]=' ' do Inc(i);
   kyda:='';
   while S[i]<>' ' do
    begin
     kyda:=kyda+S[i];
     Inc(i);
    end;
   while S[i]=' ' do Inc(i);
   time:='';
   while i<=length(S) do
    begin
     time:=time+S[i];
     Inc(i);
    end;
   VAL(time,chas,Code);
   if (kyda='Kiev') and (chas>=19.0) then
    begin
     write(zvidku);
     for i:=length(zvidku)+1 to 10 do write(' ');
     writeln(kyda+'   '+time);
    end;
  end;
 close (myfile);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 17.12.2011, 20:03   #6 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо, работает
Pyx вне форума   Ответить с цитированием
Старый 17.12.2011, 20:31   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Pyx Посмотреть сообщение
Спасибо, работает
В принципе, если структура входного файла жестко задана по позициям, то можно и существенно короче, как Вы с самого начала хотели, т.е. используя размерные строки. Но тогда так:
Код:
var
 myfile: text;
 zvidku,kyda: string[10];
 chas: real;
 i:Integer;

begin
 assign(myfile ,'D:\poizd.txt');
 reset(myfile);
 while not eof (myfile) do
  begin
   readln(myfile,zvidku,kyda,chas);
   if (kyda='Kiev      ') and (chas>=19.0) then
    begin
     write(zvidku);
     for i:=length(zvidku)+1 to 10 do write(' ');
     writeln(kyda,chas:7:2);
    end;
  end;
 close (myfile);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.12.2011, 20:37   #8 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

супер, все запускается
Pyx вне форума   Ответить с цитированием
Старый 17.12.2011, 21:23   #9 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а вы не могли бы посмотреть еще эту задачу
нужно создать файл целых чисел (количество элементов файла и сами элементы вводятся с клавиатуры). Добавить элемент в конец файла. Выводить на экран содержимое нового файла.
Pyx вне форума   Ответить с цитированием
Старый 17.12.2011, 21:51   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Pyx Посмотреть сообщение
а вы не могли бы посмотреть еще эту задачу
нужно создать файл целых чисел (количество элементов файла и сами элементы вводятся с клавиатуры). Добавить элемент в конец файла. Выводить на экран содержимое нового файла.
Пожалуйста:
Код:
Var
 f:Text;
 n:Integer;
 C:Char;
BEGIN
 Assign(f,'D:\fff');
 Rewrite(f);
 Close(f);
 Repeat
  Write('Next n (Y/N)? ');
  Readln(C);
  If (C='Y') or (C='y') then
   begin
    Append(f);
    Write('n= ');
    Readln(n);
    Writeln(f,n);
    Close(f);
   end
   else
    begin
     Write('Show file (Y/N)? ');
     Readln(C);
     If (C='Y') or (C='y') then
      begin
       Reset(f);
       Repeat
        Readln(f,n);
        Write(n,' ');
       Until EoF(f);
       Close(f);
       Writeln;
      end;
     end;
 Until (C='N') or (C='n');
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:37.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.