Консультация № 175968
10.01.2010, 12:16
0.00 руб.
0 2 1
Здраствуйте! Решите пожалуйста на языке Паскаль, задачу очень прошу.
"Дан файл компоненты которого являются действительными числами. Найти наибольшее из значений компонент с четным номером.". Заранее спасибо.

Обсуждение

Неизвестный
10.01.2010, 12:51
общий
Татьянка Устюгова:
Доброе утро! Посмотрите Ответ эксперта Пупорева Юрия Борисовича Меняете условие "наименьший" на "наибольший". Если что-то неясно - спрашивайте.
С уважением.
давно
Профессор
401888
1232
10.01.2010, 12:59
общий
это ответ
Здравствуйте, Татьянка Устюгова!
Решение задачи в приложении.

Приложение:
uses crt;
var f:file of real;{типизированный файл действительных чисел}
a,mx:real;
i,imx:integer;
begin
clrscr;
assign(f,'file');{связываем переменную с файлом на диске}
rewrite(f);{открываем для записи}
i:=0;{счетчик чисел}
writeln('Введите в файл ,не менее 2х действительных чисел, окончание ввода 0:');
repeat
write('a=');
readln(a);{читаем числа}
i:=i+1;{считаем}
write(f,a);{записываем в файл}
until (a=0)and(i>1);{если введен ноль и чисел больше 1, заканчиваем ввод}
clrscr;{очистим экран от ввода}
writeln('Содержание файла:');
reset(f);{откроем файл для чтения}
read(f,a);{прочитаем первое число}
write(a:6:2);{выведем на экран}
read(f,mx);{прочитаем второе, пока оно максимум}
write(mx:6:2);{на экран}
i:=2;imx:=2;{прочитано 2 числа, номер максимального=2}
while not eof(f) do{пока не коней файла}
begin
read(f,a);{читаем числа}
write(a:6:2);{выводим на экран}
i:=i+1;{считаем}
if(i mod 2=0)and(a>mx) then{если номер четный и больше предыдущего максимума}
begin
mx:=a;{это пока макс.}
imx:=i;{его номер}
end;
end;
close(f);{закроем прочитанный файл}
writeln;
write('Макcимальный элемент с четным номером=',mx:0:2,' его номер=',imx);
readln
end.
Форма ответа