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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2009, 15:13   #1
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию Помогите с задачей на файлы!(Pascal)

Народ пожалуйста помогите решить! Буду очень благодарен! Составить программу, выясняющую, какое из чисел m или n встречается в целочисленном файле f чаще
Fatality вне форума Ответить с цитированием
Старый 11.03.2009, 15:46   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Если файла нет, то он создается.
Код:
uses crt;
var
f : file of integer;
m,n,t,i,mcnt,ncnt : integer;

begin
clrscr;
randomize;
write('Enter n: ');
readln(n);
write('Enter m: ');
readln(m);

assign(f,'file.int');
{$I-}
reset(f);
{$I+}
if IOResult <> 0 then
 begin
 rewrite(f);
 for i:=1 to 100 do
  begin
  t := random(40)+1;
  write(f,t);
  end;
 close(f);
 reset(f);
 end;
{-------}
mcnt := 0;
ncnt := 0;
while not eof(f) do
 begin
 read(f,t);
 if t=n then inc(ncnt)
 else if t=m then inc(mcnt);
 end;
close(f);

if mcnt>ncnt then writeln(M,'(',mcnt,') chashe ',N,'(',ncnt,')')
else if mcnt<ncnt then writeln(N,'(',ncnt,') chashe ',M,'(',mcnt,')')
else writeln(M,' i ',N,' vstrechayutsya odinakovo chasto (',ncnt,')');

readln;
end.
Прочитайте правила.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.03.2009, 16:33   #3
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию

Sazary, огромнешее спасибо! Только есть 2 вопроса(сорри за тупость, просто эту тему я не очень понял)... Что такое mcnt и ncnt? И что делает вот эта строка: eof(f)?
Fatality вне форума Ответить с цитированием
Старый 11.03.2009, 16:38   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Fatality Посмотреть сообщение
Sazary, огромнешее спасибо! Только есть 2 вопроса(сорри за тупость, просто эту тему я не очень понял)... Что такое mcnt и ncnt? И что делает вот эта строка: eof(f)?
mcnt и ncnt - счетчики для подсчета чисел m и n в файле
Eof( var F ): boolean, - возвращает значение TRUE, если достигнут конец файла, связанного с файловой переменной F
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 11.03.2009 в 16:48.
alex_fcsm вне форума Ответить с цитированием
Старый 11.03.2009, 18:03   #5
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию

Алекс, спасибо, с этим разобрался! Еще вопросик: можно ли как нубудь обойтись без директив {$I+} и {$I-}? Мы вроде их еще не проходили... И что даёт вот эта операция: {------}?
Fatality вне форума Ответить с цитированием
Старый 11.03.2009, 18:07   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
можно ли как нубудь обойтись без директив {$I+} и {$I-}?
Выключает обработку ошибок ввод-вывода. Если их убрать, то если файла не будет существовать, программа завершится.
То есть тогда придется писать еще одну программу, которая будет создавать исходный файл (можете использовать для этого код из этой программы).

Код:
И что даёт вот эта операция: {------}?
Это не операция, а комментарий. Чтобы лучше читался листинг.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Файлы. Помогите с одной задачей RomT24 Помощь студентам 5 07.03.2009 16:38
Помогите с задачей на файлы Fatality Помощь студентам 5 12.02.2009 19:03
Помогите с задачей по Pascal!!! oblachko Паскаль, Turbo Pascal, PascalABC.NET 3 15.01.2009 18:11
Помогите с задачей на pascal sdinaras Помощь студентам 3 05.10.2008 10:06
Помогите с задачей (файлы) на Delphi Oksana11 Помощь студентам 18 11.01.2008 23:11