Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 07.01.2016, 19:47   #1 (permalink)
Олес
Member
 
Регистрация: 07.01.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Типизированные файлы на языке Pascal

Файл А заполнен случайными числами. Сформировать файл В из элементов файла А кратных m, и файл С из элементов файла А кратных h. m и h – вводятся с клавиатуры.
помогите, пожалуйста..

var K:array[1..5] of integer;
A,B,C: file of integer;
h,m,g,i:integer;

begin
assign(A,'failA');
assign(B,'failB');
assign(C,'failC');

writeln ('введите m');
readln(m);
writeln ('введите h');
readln(h);

rewrite(B);
rewrite(C);
reset(A);
for i:=1 to 5 do
begin
readln(K[i]);
write(A,K[i]); end;
reset(A);


while not eof(A) do
read(A,g);
if (g mod m=0) then write(B,g);
if (g mod h=0) then write(C,g);

close(A);
reset(B);
reset(C);
writeln;
write('файл В(g/',m, '):');

while not eof(B) do begin
read(B,g);
write(g);
end;
writeln;
write('файл C(g/',h, '):');

while not eof(C) do begin
read(C,g);
write(g);
end;
close(B); close(C);
end.
Олес вне форума   Ответить с цитированием

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

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

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

Старый 07.01.2016, 20:10   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,304
Сказал(а) спасибо: 287
Поблагодарили 506 раз(а) в 164 сообщениях
Репутация: 91675
По умолчанию

Пожалуйста.
Ваша программа написана в принципе правильно, но крайне неряшливо с кучей ошибок. Поймите, программирование требует кинжальной точности, никаких "что-то типо" компьютер (и транслятор) не понимают, а потому каждый значок, каждый оператор и т.п. должны быть выверены.
Код:
Const
 N=38;

Var
 A,B,C: file of integer;
 h,m,g,i:integer;

Begin
 assign(A,'failA');
 assign(B,'failB');
 assign(C,'failC');

 write(' m = ');
 readln(m);
 write(' h = ');
 readln(h);
 writeln;

 rewrite(A);
 rewrite(B);
 rewrite(C);

 Randomize;

 for i:=1 to N do
  begin
   g:=Random(99)+1;
   write(A,g);
  end;
 Close(A);
 Reset(A);

 while not eof(A) do
  begin
   read(A,g);
   if (g mod m)=0 then write(B,g);
   if (g mod h)=0 then write(C,g);
  end;
 Close(B);
 Close(C);
 Reset(A);
 Reset(B);
 Reset(C);
 Writeln;
 Writeln('File A:');
 While not EoF(A) do
  begin
   Read(A,g);
   Write(g:4);
  end;
 Writeln;
 Writeln('File B:');
 While not EoF(B) do
  begin
   Read(B,g);
   Write(g:4);
  end;
 Writeln;
 Writeln('File C:');
 While not EoF(C) do
  begin
   Read(C,g);
   Write(g:4);
  end;

 Close(A);
 Close(B);
 Close(C);

 Readln
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 07.01.2016, 21:39   #3 (permalink)
Олес
Member
 
Регистрация: 07.01.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

я открываю файлы А, В и С, а там буквы вместо цифр. какая причина? как это исправить?
Олес вне форума   Ответить с цитированием
Старый 08.01.2016, 08:57   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,304
Сказал(а) спасибо: 287
Поблагодарили 506 раз(а) в 164 сообщениях
Репутация: 91675
По умолчанию

Цитата:
Сообщение от Олес Посмотреть сообщение
я открываю файлы А, В и С, а там буквы вместо цифр. какая причина? как это исправить?
А не надо их вообще открывать! Уж такие они - типизированные файлы: информация в них закодирована. Читаются программой нормально? Вот так и читайте.
А если Вы хотите получить читабельные файлы, то используйте файловый тип TEXT. Но! если Вы посылаете в файл blablabla.txt последовательность чисел, то не забывайте записывать туда же пробелы между ними, иначе они сольются и файл к чтению станет непригодным.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.01.2016, 14:26   #6 (permalink)
Олес
Member
 
Регистрация: 07.01.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое)
Олес вне форума   Ответить с цитированием
Ads

Яндекс

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

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

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

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




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

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