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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2011, 17:32   #1
ICE_LADY
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 23
Восклицание Символьный файл F. Записать в файл G компоненты файла F в обратном порядке,сначала все нечетные, затем чётные. Паскаль.

Привет, товарищи) Ситуация следующая: написала код, но преподаватель сделала замечания, задача такая:Дан символьный файл F. Записать в файл G компоненты файла F в обратном порядке, причем в начало G поместить все нечетные, а затем все четные компоненты.
1. В соответствии с заданием файл f должен быть символьным, а не текстовым.
2. Алгоритм описан слишком обобщенно.
3. Отсутствует расшифровка смысла и назначения всех переменных, используемых в программе.
4. Нецелесообразно создавать массив (и даже несколько) для переписывания данных из файла, а затем снова в файл. Лучше это делать без использования массива. (т.е я понимаю, что создав файл 1.txt в нем же должны произойти изменения???)
5. В программе нужно предусмотреть вывод исходного и полученного файлов.

с п.1-3 вроде справилась) хотя слово обобщенно меня уже режет без ножа), помогите сделать код таким, чтобы были учтены п.4-5Б тем более, что я не пойму что означает п. 5, ведь в работе у меня из одного файла читалось и в другой файл записывалось...что ещё ей надо учесть?

Код:
Uses Crt;
Const n=255;
Type
    mas= array [1..n] of char;
Var
   t,j: integer;
Procedure readfile(var m: mas; var k: integer);
   Var
   f:Text;
   i: integer;
   Begin
    Assign(f,'C:\12.txt');
    Reset(f); (сброс записи в 'Имя файла для чтения: ')
    i:=1;
    while not EOF(f) do 
    Begin
         Read(f,m[i]);
         k:=i;
         Inc(i);
    End;
    Close(f);
    End;
Procedure CreatMas(m: mas; k:integer; var tmp1, tmp2: mas);
  Var
   i: integer;
   Begin
   j:=1;
   t:=1;
        for i:=k downto 1 do
        Begin
             if(i mod 2)=0 Then
             Begin
                  tmp2[j]:=m[i];
                  inc(j);
             End
        Else
        Begin
             tmp1[t]:=m[i];
             inc(t);
        End;
        End;
   End;
Procedure WriteFile;
Var
 g:Text;
 massiv,t1,t2: mas;
 kol,i: integer;
Begin
readfile(massiv,kol); 
CreatMas(massiv,kol,t1,t2);
Assign(g,'C:\f2tmp.txt');
 Rewrite(g);
 for i:=1 to t-1 do
 write(g,t1[i]);
 for i:=1 to j-1 do
 write(g,t2[i]);
 close(g);
End;
Begin
WriteFile;
End.
пасиба заранее)


______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
Прошу учесть это на будущее!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.06.2011 в 20:50.
ICE_LADY вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переписать с сохранением порядка следования компоненты файла F1 в файл F2, а компоненты файла F2 - в файл Алексей_1 Паскаль, Turbo Pascal, PascalABC.NET 0 20.05.2011 13:37
FASM. Считать содержимое файла в строку и затем записать обратно в файл Zart Помощь студентам 0 19.04.2011 17:02
Записать в файл g все компоненты файла f, которые являются полными квадратами. loloverg Помощь студентам 1 20.05.2010 04:36
Записать в файл g все парные числа файла f Lemo Помощь студентам 3 19.10.2008 21:27
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен Lora Microsoft Office Excel 1 31.05.2008 17:22