Помощь - Поиск - Пользователи - Календарь
Полная версия: Типизированный файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Alla
Вот программа:
Код

program test;
uses crt;

const
k=7;

var
g : file of integer;
n, c, i, s, m : integer;
begin
clrscr;
c:=0;
assign(g,'file1.txt');
rewrite(g);
writeln('Enter components: ');
for i:=1 to k do
  begin
  readln(s);
  write(g, s)
end;
close(g);
reset(g);
while not eof(g) do
begin
  read(g,n);
  if n mod 2 = 0 then
  m:=n div 2;
  if odd(m) then
    inc(c);
   end;
writeln;
writeln('Result: ');
writeln(c);
readln;
end.

Вроде бы все OK, но работает почему-то через раз.
К примеру вводим последовательность 6777777 и видим результат 7, а должен быть 1
Вводим 1111168 получаем 1, тут все OK
Помогите разобраться пожалуйста!
volvo
Во-первых, неясно задание:
Цитата
Количество нечетных удвоенных компонентов
Это что значит? С нечетными ясно, а что является удвоенными? Может, надо считать только те компоненты, которые в файле встречаются ровно 2 раза?
Гость
Вот так звучит задание:
Компонентами файла G являются натуральные числа. Найти количество удвоенных нечетных среди компонент.
Кстати программу исправила, щас вроде все OK
Код

  if n mod 2 = 0 then
  if odd(n div 2) then
  inc(c);


Вместо

Код

if n mod 2 = 0 then
  m:=n div 2;
  if odd(m) then
  inc(c);


Volvo если не затруднит привидите пример решения где находится количество повторяющихся нечетных...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.