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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2008, 18:15   #1
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
Печаль Файлы

Здравствуйте, увожаемые программисты.
Прошу помочь, с двумя программами.
Сам пытался, но запутался с файловым указателем.

№1 Типизированый файл.
Дан файл f, компоненты которого являются целыми числами.
Записать в файл g все чётные числа файла f, а в файл h - все нечётные.
Порядок следования чисел сохранить.

№2 Текстовый файл с числовой информацией.
Дан текстовый файл, каждая строка которого содержит изображения нескольких чисел, разделённые пробелами (вещественные числа имеют нулевую дробную часть). Создать файл целых чисел, содержащий все целые числа из исходного файла (в том же порядке).

Заранее спасибо.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 09.03.2008, 19:14   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

Сколько сказано - или показывайте наработки свои, тогда помогут.... или уж сразу во фриланс за деньги
ADSoft вне форума Ответить с цитированием
Старый 10.03.2008, 13:13   #3
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Наработка на первую задачу...

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
var f:file of integer;
g:file of integer;
h:file of integer;
k,n,i,j:integer;
begin
AssignFile (f,'c:\f.dat');
AssignFile (g,'c:\g.dat');
AssignFile (h,'c:\h.dat');
reset(f);
for n:=0 to fileSize(f)-1 do
if n mod 2=1 then
begin
seek(f,n);
rewrite(g);
read(g,n);
end;
for n:=0 to fileSize(f)-1 do
if n mod 2=0 then
begin
seek(f,n);
rewrite(h);
read(h,n);
end;
write(g,n);
writeln(' ');
write(h,n);
readln;

closefile(f);
closefile(g);
closefile(h);
readln;
end.


{ TODO -oUser -cConsole Main : Insert code here }
end.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.03.2008, 14:01   #4
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Наработка на вторую... В файлах я мало понимаю, по-этому получилась ерунда.

program Progect1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var z,s:string;
n,j:integer;
i:real;
f,g:textfile;
begin
z:=' ';
AssignFile (f,'c:\f.txt');
AssignFile (g,'c:\g.txt');
Reset (f);
rewrite(g);
while not eof (f) do
Begin
writeln(f,'c:\f.txt');
j:=pos(z,'c:\f.txt');
delet(z,j,length('c:\f.txt'));
readln(g,'c:\f.txt');
End;
CloseFile (f);
CloseFile (g);
end.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 11.03.2008, 00:35   #5
Шаман
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 25
По умолчанию

Вот мое, приблизительное решение первой задачи:
Компилировал во free paskal и Delphi
Код:
uses
  crt;
type
  TFile = file of integer; // тип файла
var
  f: Tfile;  
  g, h: text;  // в ввиде текста проще посмотреть, что в файлах
  i, j, k, n: integer;
begin
  clrscr;
  randomize;  // инициализация генератора случайных чисел
  assign(f, 'f.dat');
  assign(h, 'h.dat');
  assign(g, 'g.dat');
  rewrite(f);
  for i := 1 to 10 do            //заполнение файла "F.dat" случайными 
  begin                               значениями, уберешь потом
    Write(f, random(10));
  end;
  reset(f);
  rewrite(g);
  rewrite(h);
  for i := 1 to 10 do
  begin
    read(f, k);                   //читаю из файла f.dat
    if odd(k) = true then      // сравниваю на четность (true= нечетные) 
    begin
      j := k;
      write(g, j);         // записываю в файл

    end;
    if odd(k) = false then         // если четное тогда, записываю в другой 
                                           файл.
    begin
      n := k;
      write(h, n);
    end;
  end;
  close(f);              // закрываю файлы...
  close(g);               
  close(h);
  readln;
end.
код писался почти в лоб, так что проверь...
Плюс 1
Шаман вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы NeiL Win Api 3 24.07.2008 17:02
Файлы. BR@BUS Помощь студентам 5 09.04.2008 19:35
Файлы madmot Операционные системы общие вопросы 3 06.02.2008 12:10
INI файлы aesoem Общие вопросы Delphi 3 24.12.2007 21:22
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53