1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
program asdfav; var sum,n:integer; begin sum:=0; writeln('введите n'); readln(n); while n<>0 do begin if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; writeln(' sum =', sum); readln(n); end; end.
Ну=ка, присоедини-ка сюда свой скриншот, чтобы было видно, когда ты вводишь вот эти 3 числа, и какой результат у тебя получается... У меня получается вот так:
не знаю... мне не удалось получить положительную сумму. отрицательная все время.
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
вот такое вот у меня получилось при попытке сделать цикл с постусловием:
program post; var sum,n:integer; begin repeat writeln( ' n = '); readln(n); until n<0; if ((n<0) and (n mod 2 <> 0 )) then sum:=sum+n; writeln(' sum = ', sum ); readln(n); end.
а теперь подумай, что ты делаешь.... что у тебя БЫЛО внутри цикла, когда я это писала, и что СТАЛО, когда ты написал. Сравни действия. И условие выхода из цикла тоже.
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
program post; var sum,n:integer; begin sum:=0; repeat writeln( ' n = '); readln(n); begin if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; writeln(' sum = ', sum); readln; end; until n>0; end.
но работает частично например если вводить последовательность чисел -1,-3,-5,-7,-9,-11 проспускаются -5 и -7
ой убрал последний readln и все заработало зы теперь буду думать над циклом с for
<program fors; var sum,n:integer; begin writeln(' n = '); readln(n); sum:=0; if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; for n:=-200 to -1 do inc(n,2); writeln(' sum = ', sum ); end. >
в этом случае у меня просто выводится то число какое я ввел если оно соответствут условию после чего сразу выходит из цикла объсните в чем я опять напутал
Hunt666, ты тегами принципиально не пользуешься ? Еще _один_ пост, в котором код не будет помещен в теги и ты будешь помещен в премодерацию на неделю. Настоятельно советую пользоваться тегами и исправить все свои посты. Либо объяснить вескую причину по который ты не можешь использовать теги.
--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
<program fors; var sum,n:integer; begin writeln(' n = '); readln(n); sum:=0; if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; for n:=-200 to -1 do inc(n,2); writeln(' sum = ', sum ); end. >
в этом случае у меня просто выводится то число какое я ввел если оно соответствут условию после чего сразу выходит из цикла объсните в чем я опять напутал
Этто еще что? Во-первых, не стоит изменять переменную-счетчик внутри цикла. Не жалей ты байты под доп.переменную. Во-вторых (чувствую себя попугаем): что должно быть ВНУТРИ цикла?
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
program CIKL; var sum,s,n,i,x:integer; begin writeln('VVedite X ot 1 do 3'); readln(X); if (x>=1) and (x<=3) then case x of 1 : begin writeln('S predusloviem'); sum:=0; writeln('vvedite n'); readln(n); while n<>0 do begin if (n<0) and ( n mod 2 <>0) then sum:=sum+n; writeln(' sum = ', sum); readln(n); end; end; 2 : begin writeln('S postusloviem'); sum:=0; repeat writeln(' vvedite n '); readln(n); begin if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; writeln(' sum = ', sum); end; until n>0; end; 3 : begin writeln('S zadanim kolichestvom povtoreniy'); sum:=0; writeln(' vvedite kolichestvo povtoreniy , s ='); readln(s); for i:=1 to s do begin writeln(' vvedite n '); readln(n); if (n<0) and ( n mod 2 <> 0) then sum:=sum+n; writeln(' sum = ', sum); end; end; end; end.
огромное спасибо всем кто помогал, ох уж долго со мной возились.