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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 17:54   #1
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
Вопрос Задание с текстовыми файлами в Паскале

Добрый день/вечер.

Задание у меня такое, связанное с текстовыми файлами.

Написать программу, которая создаёт текстовый файл. Из него сделать (создать) новый текстовой файл, который будет содержать в себе каждый третий символ.

Буду очень благодарна всем, кто откликнется)))
Novenkaja вне форума Ответить с цитированием
Старый 17.05.2011, 18:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а что не бполучается?
Создаешь файлы file of char
после считываешь
Код:
i:=1;
while not eof(откуда) do begin
 read(откуда,c); if (i mod 3)=0 then write(куда,c);inc(i);
end;
...
Где i целое c - char;
Файлы откроешь на чтение и запись соответственно процедурами reset и rewrite
и закрыть не забудь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2011, 18:26   #3
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

Код:
program nolasisana;
uses crt;
var f1:text; c:char; str:string;
begin
     clrscr;
     write ('Ievadi faila nosaukumu: ');
     readln (str);
     assign (f1,str);
     reset (f1);
     while not eof(f1) do begin
           while not eoln(f1) do begin
                                 read (f1,c);
                                 write (c)
                                 end;
           readln (f1);
           writeln
           end;
     close (f1)
end.
а можешь как то это код переделать? изначально у меня было задание такое- составить программу, которая обеспечивает считывание информации из данных(файла) по одному символу.

А теперь как я понимаю фалов долдно быть два,первый который мы сами создаём,второй выводится из него таким образом,чтобы содержал он в себе каждый третий символ.

то у меня вышло,а как перейти из файла в файл не выходит
Novenkaja вне форума Ответить с цитированием
Старый 17.05.2011, 18:58   #4
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

кто-то знает,можно ли это код переделать под мое новое задание и если да,то как?
Novenkaja вне форума Ответить с цитированием
Старый 17.05.2011, 19:39   #5
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

я сделала вот такой код
Код:
Program tekstovoj_fail;
uses crt;
Var f1,f2:text;
    I,n: integer;
    S: string;
Begin
    clrscr;
    write('Введите название 1-ого файла:');
    readln(s);
    Assign(f1, 'file1.txt');
    Rewrite(f1);
    Readln(n);
    for i:=1 to n do
    begin
        readln(s);
        writeln(f1,s);
    end;
    close(f1);

    write('Введите название 1-ого файла:');
    readln(s);
    Reset(f1);
    Assign(f2, 'file2.txt');
    Rewrite(f2);

    While not eof(f1) do
    Begin
        Readln(f1,s);
        If (s[1]='A') or (s[1]='a') then
        Writeln(f2,s);
    End;
    Close(f2);


    Writeln;
    Writeln('Во второй файл записан каждый третий символ: ');
    Reset(f2);
    While not eof(f2) do
    Begin
        Readln(f2,s);
        Writeln(s);
    End;
End.
он компилирует,но когда выхожу в ран,то он меня от туда выкидывает и пишет exitcode=106
Novenkaja вне форума Ответить с цитированием
Старый 17.05.2011, 20:27   #6
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

кто-то знает как улучшить мой код или кто-то может составить свой и помочь с этим заданием?
Novenkaja вне форума Ответить с цитированием
Старый 17.05.2011, 22:02   #7
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

А что вам мешает сделать как предложил Stilet? Это будет выглядеть примерно так
Код:
Var f1,f2:file of char;
    I,n: integer;
    S:Char;
Begin
    Assign(f1, 'C:\file1.dat');
    Rewrite(f1);
    Readln(n);
    for i:=1 to n do
    begin
        readln(s);
        write(f1,s);
    end;
    close(f1);
    Assign(f1, 'C:\file1.dat');
    Reset(f1);
    Assign(f2, 'C:\file2.dat');
    Rewrite(f2);
    i:=1;
    Writeln;
    While not eof(f1) do
    Begin
        Read(f1,s);
        If i mod 3 = 0 then Write(F2,S);
        inc(i)
    End;
    Close(f1);
    Close(f2);
  Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681

Последний раз редактировалось GetMax; 17.05.2011 в 22:05.
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовыми файлами Dareami Общие вопросы C/C++ 3 20.04.2010 10:21
Работа с текстовыми файлами Bytas Общие вопросы C/C++ 1 01.12.2009 22:39
2 задачи в паскале работа с текстовыми файлами Эйфория Помощь студентам 9 18.04.2009 04:54
Задача на Паскале работа с текстовыми файлами. StudUL Помощь студентам 3 21.12.2008 23:24