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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 16:13   #1
Black_butterfly
Пользователь
 
Аватар для Black_butterfly
 
Регистрация: 26.06.2010
Сообщений: 14
По умолчанию Задача с типизированными файлами

Здравствуйте, уважаемые программисты!
Спасите, пожалуйста,двоечницу

Организовать файл целых чисел из N компонент. Определить сумму компонент файла, имеющих нечётные индексы.

Код:
program proga;
uses crt;
type
ff=file of integer;
var
log_f,f:ff;
rez,n,i,komp:integer;
Begin
 Assign(log_f,'data.dat');
 Rewrite(log_f);
  writeln('Vvedyte koli4estvo komponentov v faile');
 readln(n);
 rewrite(f);
 writeln('Vvedyte komponenti faila');
 for i:=1 to n do
 Begin
  read(komp);
  write(f,komp);
 end;
 close(f);
writeln('Sodergimoe faila');
Begin
 reset(f);
 while not eof(f) do
 Begin
  read(f,komp);
  write(komp,' ');
 end;
 close(f);
 writeln;
end;
reset(f);
 rez:=0;

 for i:=1 to n do
Begin
  read(f,komp);
  if i mod 2<> 0 then rez:=rez+komp;
 end;
 writeln('Summa NE4etnih elementov',rez);
 close(f);
 end.
Подправьте, очень прошу!
Black_butterfly вне форума Ответить с цитированием
Старый 01.05.2011, 16:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это тот очень редкий случай, когда всё написано абсолютно верно, а ошибка - мелкая оплошность (или, скорее думаю, что это осталось от того решения, из которого Вы брали код и делали своё решение )

ошибка в том, что у Вас зачем-то ДВЕ файловые переменные.
Назначаете имя одной, а работаете с другой...
попробуйте так:
Код:
type
  ff = file of integer;
var
  f: ff;
  rez, n, i, komp: integer;
begin
  writeln('Vvedyte koli4estvo komponentov v faile');
  readln(n);
  Assign(f, 'data.dat');
  rewrite(f);
  writeln('Vvedyte komponenti faila');
...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.05.2011, 16:59   #3
Black_butterfly
Пользователь
 
Аватар для Black_butterfly
 
Регистрация: 26.06.2010
Сообщений: 14
По умолчанию

Взгляните теперь, пожалуйста
Код:
type
  ff = file of integer;
var
  f: ff;
  rez, n, i, komp: integer;
begin
  writeln('Vvedyte koli4estvo komponentov v faile');
  readln(n);
  Assign(f, 'data.dat');
  rewrite(f);
  writeln('Vvedyte komponenti faila');
  readln(n);
 rewrite(f);
 writeln('Vvedyte komponenti faila');
 for i:=1 to n do
 Begin
  read(komp);
  write(f,komp);
 end;
 close(f);
writeln('Sodergimoe faila');
Begin
 reset(f);
 while not eof(f) do
 Begin
  read(f,komp);
  write(komp,' ');
 end;
 close(f);
 writeln;
end;
reset(f);
 rez:=0;

 for i:=1 to n do
Begin
  read(f,komp);
  if i mod 2<> 0 then rez:=rez+komp;
 end;
 writeln('Summa NE4etnih elementov',rez);
 close(f);
 end.
Программа компилируется, но не позволяет вводить компоненты более 2-х и считает, соответственно, не верно

Последний раз редактировалось Black_butterfly; 01.05.2011 в 17:00. Причина: ----
Black_butterfly вне форума Ответить с цитированием
Старый 01.05.2011, 17:09   #4
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Цитата:
Код:
 writeln('Vvedyte koli4estvo komponentov v faile');
  readln(n);
  Assign(f, 'data.dat');
  rewrite(f);
  writeln('Vvedyte komponenti faila');
  readln(n);
неясно зачем еще раз вводить количество элементов, да и к тому же перед ним выводить подсказку по типу "вводите уже компонент"?

Цитата:
не позволяет вводить компоненты более 2-х
более двух по количеству или более 2-х по значению?
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 01.05.2011, 17:21   #5
Black_butterfly
Пользователь
 
Аватар для Black_butterfly
 
Регистрация: 26.06.2010
Сообщений: 14
По умолчанию

Ой, Sorry!Спасибо огромное, все работает )))))

Последний раз редактировалось Black_butterfly; 01.05.2011 в 17:24. Причина: ------
Black_butterfly вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с типизированными файлами bo-al Помощь студентам 2 27.02.2010 19:18
Проблема с типизированными файлами Siluet Общие вопросы Delphi 1 04.10.2009 14:08
Работа с типизированными файлами. Darangel Помощь студентам 1 17.05.2009 19:19
Задача на Паскале по работе с типизированными файлами Ake Помощь студентам 12 14.02.2009 02:47