Бумер Posted October 19, 2006 Report Share Posted October 19, 2006 С клавы пользователь вводит последоватьельность чисел, заканчивающуюся вводом 0. Найти первый положительный элемент, который будет больше суммы трех предыдущих. Если предыдущих нет, то они равны нулю. как тут все это делать???? Циклами или чем?? Link to comment Share on other sites More sharing options...
Тролль Posted October 19, 2006 Report Share Posted October 19, 2006 (edited) Бумер: По условию ввод любого положительного числа приводит к завершению задачи - любое положительное число больше суммы трех нулей. Так что имеет смысл вводить только отрицательные числа, ввод любого положительного числа по условию является решением. Хотя по здравому смыслу проверять условие надо только после того, как наберется три введенных числа, тогда можно будет работать и с положительными числами. Но для начала - программа, работающая точно по условию: program a1;var k,k1,k2,k3,s:Real;begink1:=0; k2:=0; k3:=0;repeats:=k1+k2+k3;ReadLn (k);if k=0 then WriteLn ('Zavershenie vvoda poljzovatelem')else begin if k>s thenbegin WriteLn ('Otvet poluchen: ',k:9:2); k:=0;end elsebegin k1:=k2; k2:=k3; k3:=k;end; end;until k=0;Writeln ('Vipolnenie zadachi zakoncheno. Dlja vozvrata v sistemu nazhmite klavishu Enter');ReadLn;end. А чтобы имел смысл ввод и положительных чисел, то есть чтобы проверка срабатывала только начиная с четвертого введенного числа, достаточно просто изменить оператор k3:=0 на k3:=1e38 Edited October 19, 2006 by Тролль Link to comment Share on other sites More sharing options...
Бумер Posted October 20, 2006 Author Report Share Posted October 20, 2006 Тролль: Спасибо! Но я по-своему сделал. если интересно, то напишу код Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now