Консультация № 175494
21.12.2009, 18:16
0.00 руб.
0 1 1
Помогите пожалуйста начинающему программисту решить задачу в Паскале,Дан файл компоненты которого являются действительными числами. Найти наибольшее из значений компонент с нечетным номером.
заранее Спасибо

Обсуждение

Неизвестный
23.12.2009, 20:25
общий
это ответ
Здравствуйте, Марс Егоров.
В приложении код программы с некоторыми комментариями.
Я создаю файл сам, заполняю его случайными числами, а потом считываю
Если что непонятно будет - спрашивайте.
Окно программы:
Код:
   0.5000    0.5314    0.3610    0.7026    0.7729    0.1717    0.8187    0.6618
0.8722 0.9257 0.5820 0.9748 0.5706 0.3409 0.5597 0.7933
0.4173 0.8679 0.2747 0.8279 0.1977 0.3442 0.2180 0.8066
0.6626 0.8295 0.9660 0.7467 0.3257 0.7790 0.9818 0.6492
0.3743 0.7873 0.2728 0.4765 0.9925 0.3879 0.3273 0.5203
0.6411 0.6435 0.0008 0.5217 0.0929 0.5096 0.2745 0.1507
0.2705 0.2081
Максимальный из четных: 0.9748


Приложение:
CONST
maxN = 50; {Число компонентов}
FileName = '175494.dat';
VAR
f: file of Real;
r: Real;
i: Integer;
max: Real;
BEGIN
{Заполняем случайными числами}
Assign(f, FileName); {Присваиваем файоловой переменной имя}
Rewrite(f); {Создаем файл}

for i:=1 to maxN do begin
r:= Random;
Write(f, r);
end;
Close(f); {Закрываем и откроем для чтения и будем считывать}
Reset(f);
Read(f, r); {Этот первый - нечетный}
Read(f, max); {Этот - в максимальный}
Write(r:9:4,' ',max:9:4,' ');
i:=3;
While not EOF(f) do begin
Read(f, r);
Write(r:9:4,' ');
if NOT ODD(i) then {Если четный. odd возвращает ИСТИНА, если нечетный}
if r > max then max := r;
inc(i); {Увеличиваем счетчик}
end;
WriteLn;
WriteLn('Максимальный из четных: ', max:10:4);

END.
Форма ответа