Помощь - Поиск - Пользователи - Календарь
Полная версия: Необходимо чтобы программа работала без массива. Как это можно организовать?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Света
Var
I,n, m0: integer;
M1,m2,m3: real;
X: array [0..50] of real;
F: text;
Begin
Assign (f,’qq.txt’);
Reset( f);
Writeln (‘>>>>>>>’);
Readln(n);
For i:=0 to n-1 do
Readln (f,x[i]);
Close (f);
Mo:=0;
M2:=abs(x[0]);
M3:=abs(x[0]);
M1:=abs(x[0]);
For i :=1 to n-1 do
If m1<abs(x[i]) then
M1:=abs(x[i]);
Writeln (‘ m1=’,m1:10:2);
Readln;
Writeln (mo);
Readln;
For i :=1 to n-1 do
If (m2<abs(x[i])) and (abs(x[i])<>m1) then
M2:=abs(x[i]);
Writeln (‘ m2=’,m1:10:2);
Readln;
Writeln (mo);
Readln;
For i :=1 to n-1 do
If (m3<abs(x[i])) and (abs(x[i])<>m1) and (abs(x[i])<>m2) then
M2:=abs(x[i]);
Writeln (‘ m3=’,m1:10:2);
Readln;
Writeln (mo);
Readln;
End.
volvo
Задание нельзя было привести?
Света
Задание:
Нахождение 3х максимальных по модулю числа в .txt фаиле!
С массивом выходит! Но нужно без массива!
volvo
  while not eof(f) do begin
readln(f, curr);
if abs(curr) > abs(max_1) then begin
max_3 := max_2; max_2 := max_1; max_1 := curr
end
else
if abs(curr) > abs(max_2) then begin
max_3 := max_2; max_2 := curr;
end
else if abs(curr) > abs(max_3) then max_3 := curr;
end;
Разберешься?
Света
Попробую!
Спасибо.
Света
У меня все получилось! Большое спасибо! smile.gif smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.