• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Чтение данных из файла. Free Pascal - Free Pascal

  • Автор темы Автор темы kot_
  • Дата начала Дата начала

kot_

Ученик
Регистрация
6 Мар 2017
Сообщения
8
Реакции
0
Баллы
0
Чтение данных из файла. Free Pascal - Free Pascal

Условия задачи : Несколько школьников выстроились в шеренгу. Для каждого школьника известна дата рождения(день). Требуется: определить номер третьего из школьников, дни рождения которых являются чётными числами. Нужно составить программу, которая будет читать даты рождения школьников из файла (даты записаны в строчку) и результат программы выведет в этот же файл.
Код программы
PHP:
var i,k,a:integer; 
p:array[1..60] of integer; 
begin 
Randomize; repeat
writeln('Введите кол-во школьников в шеренге ');
read(a);
until (a>=1)and (a<=60); 
For i:=1 to a do 
begin 
p[i]:=1+Random(31); 
Write(p[i]:2,' '); 
end; 
Writeln; 
Writeln; 
k:=0;i:=1; while(k<>3) and (i<=a) do begin 
If p[i] mod 2=0 then 
k:=k+1; i:=i+1;end;if k=3 then 
Write(i-1:2,' ') else write('net'); 
Writeln; 
Readln; 
end.
 
Нужно составить программу, которая будет читать даты рождения школьников из файла (даты записаны в строчку) и результат программы выведет в этот же файл.
Это, конечно, ужжжжжжжасно сложно и безззззззумно трудно. Но я справился.
Код:
var
 i,k,N,p:Byte;
 f:Text;
Begin
 Assign(f,'dataf.txt');
 Rewrite(f);
 Randomize;
 repeat
  write('Enter the number of pupils in the row (N<61): ');
  readln(N);
 until N<=60;
 for i:=1 to N do
  begin
   p:=1+Random(31);
   Write(f,p:3);
  end;
 Writeln(f);
 Writeln(f);
 Close(f);
 Reset(f);
 k:=0;
 i:=1;
 Repeat
  Read(f,p);
  i:=i+1;
  if (p mod 2)=0 then k:=k+1;
 Until (k=3) or (i=N+1);
 Close(f);
 Append(f);
 if k=3 then
  writeln(f,'Pupil N ',i-1)
 else
  writeln(f,'No such pupils');
 Close(f);
End.
 
FreePascal просили :)
 
А если делать без рандома. Первая строчка в файле - кол-во школьников, вторая - их даты рождения
 
А в чем проблема переделать? N - количество, p - даты рождения.
 
Синтаксис практически одинаковый что у FreePascal, что у TurboPascal, так что Владимир Игоревич всё верно написал.
А я и не сказал, что Владимир написал неправильно, я сказал, что это не совсем FreePascal.
FreePascal допускает совсем другие возможности - более краткие, интересные, высокоуровенные.
 
не понятно как проверять чётность после того как удалю рандом
 
уже разобрался
 
Назад
Сверху