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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2010, 21:33   #1
ilyas22
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 17
Сообщение Файл, исправить программу

Дан файл, элементами которого являются действительные числа, найти наибольший элемент
проблема же, не видит последний элемент, почему?
Код:
program _;
const
 k=4;
 var
 f:file of integer;
 a:array[1..k] of integer; i,max:integer;
begin
assign(f,'f.text');
rewrite(f);
for i:=1 to k do
begin
  write(f,a[i]);
  read(a[i]);
end;
close(f);
writeln('введите текст');
reset(f);
while not eof(f) do
begin
read(f,a[i]);
end;
max:=a[1];
for i:=2 to k do
  begin
     if max<a[i] then
       max:=a[i];
  end;
writeln('Наибольший элемент=',max);
close(f);
end.
ilyas22 вне форума Ответить с цитированием
Старый 07.06.2010, 22:42   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
program _;
const
 k=4;
 var
 f:file of integer;
 a:array[1..k] of integer; i,max:integer;
begin
assign(f,'C:\f.text');
rewrite(f);
for i:=1 to k do
begin
  read(a[i]);
   write(f,a[i]);
end;
close(f);
writeln('введите текст');
reset(f);
while not eof(f) do
begin
read(f,a[i]);
end;
max:=a[1];
for i:=2 to k do
  begin
     if max<a[i] then
       max:=a[i];
  end;
writeln('Наибольший элемент=',max);
close(f);
end.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 07.06.2010, 23:05   #3
ilyas22
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 17
Сообщение

Если вводить последовательность 1 2 3 4
Наибольший элемент равен 3, что не правильно(вместо "введите текст" должно быть "файл создан")

то есть когда последний элемент массива наибольшее число, программа его не видит почему?

Последний раз редактировалось Stilet; 08.06.2010 в 09:49.
ilyas22 вне форума Ответить с цитированием
Старый 08.06.2010, 16:30   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Цитата:
Если вводить последовательность 1 2 3 4
Наибольший элемент равен 3, что не правильно(вместо "введите текст" должно быть "файл создан"
Проверил всё нормально работает.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 08.06.2010, 16:53   #5
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Код:
for i:=1 to k do
begin
  write(f,a[i]);
  read(a[i]);
end;
поменяй местами строки write(f,a[i]) и read(a[i])/
Твоя программа не работает, потому что при последнем прохождении цикла в файл записывается предпоследнее a.

Последний раз редактировалось Snejnaya; 08.06.2010 в 16:56.
Snejnaya вне форума Ответить с цитированием
Старый 08.06.2010, 17:30   #6
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Цитата:
поменяй местами строки write(f,a[i]) и read(a[i])/
ну как бы выше то я написал ему.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 08.06.2010, 17:57   #7
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

ROMA2PVT

Он тебе не поверил)))
Snejnaya вне форума Ответить с цитированием
Старый 08.06.2010, 18:13   #8
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Радость

<<offtop>>
Цитата:
Он тебе не поверил)))
Думаю он даже незаметил выделенный красным цветом текст.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить программу amfisat Общие вопросы C/C++ 3 02.06.2010 08:22
Массивы(исправить программу) ilyas22 Паскаль, Turbo Pascal, PascalABC.NET 3 26.05.2010 22:35
Помогите исправить программу... Lifefine Общие вопросы C/C++ 1 29.10.2009 11:32
Помоги исправить программу. Lifefine Общие вопросы C/C++ 3 19.10.2009 20:27
Помогите исправить программу kill301 Помощь студентам 1 01.06.2009 16:17