var ch,min:integer;
begin
writeln('Vvedit riad chisel');
read(ch);
min:=ch;
while ch0 do
begin
read(ch);
if min>ch and (ch0) then min:=ch;
end;
writeln(min);
readln
end.
помогите как сделать чтобы выводило 2 минимальных числа!??
Раздел: Программирование, последний комментарий: 13.09.2010 23:16
Чтобы 2 минимальных выводилось напиши так:
if min>ch and (ch0) then begin
min1:=min;
min:=ch;
end;
Ну и потом:
writeln(min, min1);
Синтаксис уже не помню...
Таким образом, если вводишь меньше, чем мин, то в мин1 запоминается предыдущее минимальное число, а в мин нынешнее..
[/quote]
не, я был на факультативе сделал через массив, так он мне сказал: "Либо я делаю как он говорит, либо Вали Н*Х!!!"=)))[/quote]
у меня такое было в институте на экзамене, поставил мне 2, пришлось доказывать чей метод практичней. Исправил на 5. Ох уж эти самолюбивые преподаватели.
Чтобы 2 минимальных выводилось напиши так:
if min>ch and (ch0) then begin
min1:=min;
min:=ch;
end;
Ну и потом:
writeln(min, min1);
Синтаксис уже не помню...
Таким образом, если вводишь меньше, чем мин, то в мин1 запоминается предыдущее минимальное число, а в мин нынешнее..
1 вопрос этот код в цыкл?
2 констатация факта: выводит мне значение 0!!! а недолжно!!!
var ch, min1, min2: integer;
begin
writeln('Vvedit riad chisel');
readln(ch);
min1 := ch;
min2 := 0;
while ch <> 0 do
begin
readln(ch);
if (min2 <> 0) and (min1 > ch) and (ch <> 0) then
begin
min2 := min1;
min1 := ch;
end;
if (min2 = 0) and (ch <> min1) and (ch <> 0) then
begin
if min1 > ch then
begin
min2 := min1;
min1 := ch;
end
else min2 := ch;
end;
end;
write('min1=');
if min1 = 0 then writeln('not found')
else writeln(min1);
write('min2=');
if min2 = 0 then writeln('not found')
else writeln(min2);
readln;
end.