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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 21:19   #1
Юляшко
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 24
По умолчанию Типизированный файл

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

PHP код:
  uses crt;
var 
f1,f:file of integer;
    
n,i,j,p:integer;
    
c,d,x,s:integer;
    
k:byte;
    
s1:string;

begin
ClrScr
;
assign(f,'D:\Рабочая\PABC\text.dat');     // обращение к файлу   text.txt
assign(f1,'D:\Рабочая\PABC\text1.dat');
reset(f);
rewrite(f1);
read(f,s);
for 
i:=1 to n do
 
begin
  writeln
('введите',i,'число');
 
readln(c);
 
write(f,c);
 
end;
reset(f);   //для чтения
writeln('Содержание исходного файла:');
while 
not eof(f) do //используется для проверки, достигнут ли конец файла.
 
begin
  read
(f,c);    //записывает в перем с
  
write(c,' ');
 
end;
writeln;
close(f);     //закрывает
reset(f);      //открывает файл
p:=0;
for 
i:=0 to filesize(f)-do  // возрощает количество элементов в типизированом файле
 
begin
  seek
(f,i); //перемещает на i элемент
  
read(f,c);
  if 
c<0 then  //если отрицательное
   
begin
    p
:=p+1;//считаем
    
x:=c;  //запоминаем
    
for j:=i downto p do  //идем назад
     
begin
      seek
(f,j-1); //читаем предыдущее число
      
read(f,d);
      
seek(f,j);  //вставляем вперед
      
write(f,d);
     
end;
    
seek(f,p-1);//вставляем на место которое нашли
    
write(f,x);
   
end
 end
;
if (
p=0)or(p=filesize(f)) then
  begin
   write
('Перестановок не было!');
   
close(f);                        //закрывает файл
  
end
else
 
begin
  writeln
('Содержание нового файла:');
  
reset(f);                          //открывает файл
  
while not eof(f) do
   
begin
    read
(f,c);
    
write(c,' ');
   
end;
  
close(f);     //закрывает файл
  
close(f1)
 
end;
end
Юляшко вне форума Ответить с цитированием
Старый 29.04.2010, 21:35   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А в чём проблема? Пробуй как-то так:
Код:
assign(f,'D:\Рабочая\PABC\text.dat');  
assign(f1,'D:\Рабочая\PABC\text1.dat'); 
reset(f); 
rewrite(f1);
while not eof(f) do
 begin 
  read(f,s);    
  write(f1,s); 
 end; 
close(f);     
close(f1);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 29.04.2010, 22:04   #3
Юляшко
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 24
По умолчанию

блин...он не меняет! он даже не выдает те числа которые я ввела в файле
Юляшко вне форума Ответить с цитированием
Старый 01.05.2010, 14:26   #4
Юляшко
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 24
Печаль

что делать то?
Юляшко вне форума Ответить с цитированием
Старый 02.05.2010, 17:56   #5
Юляшко
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 24
По умолчанию

вот у меня программа..я туда сама вписываю числа...а мне нужно чтоб он их из файла брал! что надо сделать?

PHP код:
uses crt;
var 
file1,file2:file of integer;
    
n,i,num:integer;
    
j,p:integer;
    
c,d,x,s:integer;
    
k:byte;

begin
ClrScr
;
  
writeln('Ââåäèòå êîë-âî ÷èñåë:'); readln(n);
    
writeln('Ââåäèòå ',n,' öåëûõ ÷èñåë:');
    
assign(file1,'file7_1_1.dat');  //Åñëè íàäî òî óêàæè ïóòü
    
rewrite(file1);
    
assign(file2,'file7_1_2.dat'); //òóò òîæå
    
rewrite(file2);
    
reset(file1);
    for 
i:=1 to n do
    
begin
         read
(num);
         
write(file1,num);
    
end;
    
close(file1);

for 
i:=1 to n do

reset(file1);   //äëÿ ÷òåíèÿ
writeln('Ñîäåðæàíèå èñõîäíîãî ôàéëà:');
while 
not eof(file1) do //èñïîëüçóåòñÿ äëÿ ïðîâåðêè, äîñòèãíóò ëè êîíåö ôàéëà.
 
begin
  read
(file1,c);    //çàïèñûâàåò â ïåðåì ñ
  
write(c,' ');
 
end;
writeln;
close(file1);     //çàêðûâàåò
reset(file1);      //îòêðûâàåò ôàéë
p:=0;
for 
i:=0 to filesize(file1)-do  // âîçðîùàåò êîëè÷åñòâî ýëåìåíòîâ â òèïèçèðîâàíîì ôàéëå
 
begin
  seek
(file1,i); //ïåðåìåùàåò íà i ýëåìåíò
  
read(file1,c);
  if 
c<0 then  //åñëè îòðèöàòåëüíîå
   
begin
    p
:=p+1;//ñ÷èòàåì
    
x:=c;  //çàïîìèíàåì
    
for j:=i downto p do  //èäåì íàçàä
     
begin
      seek
(file1,j-1); //÷èòàåì ïðåäûäóùåå ÷èñëî
      
read(file1,d);
      
seek(file1,j);  //âñòàâëÿåì âïåðåä
      
write(file1,d);
     
end;
    
seek(file1,p-1);//âñòàâëÿåì íà ìåñòî êîòîðîå íàøëè
    
write(file1,x);
   
end
 end
;
if (
p=0)or(p=filesize(file1)) then
  begin
   write
('Ïåðåñòàíîâîê íå áûëî!');
   
close(file1);                        //çàêðûâàåò ôàéë
  
end
else
 
begin
  reset
(file1);                          //îòêðûâàåò ôàéë
    
while not eof(file1) do
    
begin
          read
(file1,c);
          
write(file2,c);
    
end;

    
close(file1); close(file2);

    
reset(file2);

    
writeln('Âî âòîðîì ôàéëå: ');
    while 
not eof(file2) do
    
begin
         read
(file2,c);
         
write(c,' ');
    
end;
    
close(file2);
end;
end
Юляшко вне форума Ответить с цитированием
Старый 02.05.2010, 19:12   #6
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

сделаю. присылай на ящик (контакты на моем сайте)
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл Юляшко Паскаль, Turbo Pascal, PascalABC.NET 1 28.04.2010 16:15
Типизированный файл. Paskal BSS Помощь студентам 2 19.04.2010 08:57
Текстовый и типизированный файл Пушистик Паскаль, Turbo Pascal, PascalABC.NET 0 15.04.2009 20:19
Типизированный файл aleksandrdss Помощь студентам 0 08.04.2009 05:01
Типизированный файл Лубышев Помощь студентам 2 11.10.2008 11:08