Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] помогите с выходом из бесконечного цикла (http://forum.oszone.net/showthread.php?t=194558)

Cherterok 20-12-2010 22:14 1570719

помогите с выходом из бесконечного цикла
 
ну как бы необходимо чтобы программа считала считала и в момент когда х лежит в ределе от 3 до 7 (любое число) выходить из цыкла. вот чтото незапускаеться цикл вобще. в чом беда??
Код:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
       
  double x, // Начальное, стартовое значение
          end = 1000;  // Конечное, предельное значение
          //steep = 1;  // Шаг
  cin>>x;
 

  while(x > end){ // Цикл
      cout<<" Num = "<<x<<endl; // Проверяем вывод...
      x=x++;  // Шагаем
          if (x>=3, x<=7)
  break;
 
    }
  cout<<x<< "\n";
  system("pause");

}

препод как всегда не знает))) шо я делаю не так?? даже если написть в цикле
x +=step всеравно не то.

lxa85 20-12-2010 22:40 1570738

Cherterok, ты с условиями и параметрами цикла ничего не перепутал? При x > 1000 он в пределы [3..7] не попадет.
А при меньшем вообще в цикл не попадет!
"Ломание" цикла break'ом не есть хорошо. Использую булевскую переменную.

Cherterok 21-12-2010 16:15 1571333

Цитата:

Цитата lxa85
Cherterok, ты с условиями и параметрами цикла ничего не перепутал? При x > 1000 он в пределы [3..7] не попадет.
А при меньшем вообще в цикл не попадет!
"Ломание" цикла break'ом не есть хорошо. Использую булевскую переменную. »

я чото не понял. while(x > end) сдесь что делает программа??
и бриком пользоваться это по заданию. лаба у нас такая. я вобще как бы не в курсе всех примочек. пока только начинаю

lxa85 21-12-2010 16:20 1571338

Цитата:

Цитата Cherterok
while(x > end)что здесь делает программа? »

Это я у тебя хочу спросить. При каких условиях будет выполняться цикл?

Drongo 21-12-2010 19:46 1571485

Должно быть не так
Цитата:

Цитата Cherterok
if (x>=3, x<=7) »

А вот так
Код:

if (x >= 3 || x <= 7)
К тому же условие бессмыслено при инкременте х потому что инкремент операция последовательного приращения числа на единицу, когда х будет равен 4 условие по любому выполнится, т.е. не вижу необходимости в проверке его на х <= 7, ну а всё остальное сказал lxa85

Cherterok 21-12-2010 23:37 1571675

Цитата:

Цитата lxa85
Цитата Cherterok:
while(x > end)что здесь делает программа? »
Это я у тебя хочу спросить. При каких условиях будет выполняться цикл? »

цыкл выполняться пока х не достиг 3. но если вписать в начале программы ввод Х то хз. вобщем я не знаю. ну хатябы надо чтобы щитало от 1 до 3.
Цитата:

Цитата Drongo
А вот так
Код:
if (x >= 3 || x <= 7) »

а разница?? оно и так работает. в палочках не вижу смысла. или это чтото значит?

lxa85 21-12-2010 23:52 1571683

Cherterok, книги по С++ для новичков тебе в помощь(в прикрепленной теме посмотри). Не хватало еще простейшую теорию по 105 раз расписывать.

Drongo 22-12-2010 00:57 1571727

Цитата:

Цитата Cherterok
оно и так работает »

Сразу видно что вы даже не удосужились проверить свой код на любом сишном компиляторе.

Cherterok 22-12-2010 14:23 1572096

Цитата:

Цитата Drongo
Цитата Cherterok:
оно и так работает »
Сразу видно что вы даже не удосужились проверить свой код на любом сишном компиляторе. »

визуал с++ 2010 разве не подходит?? я в нем работаю как бы. просто мне препод вобще вместо запятой сказал что надо and писать) ну я ему показал что запятая рулит. так что мне с циклом сделатЬ???

Drongo 22-12-2010 18:59 1572246

Цитата:

Цитата Cherterok
так что мне с циклом сделатЬ??? »

Ещё раз, медленно и не спеша, по строкам: одна строка - одна операция. Что должна делать программа?

1. Итак, мы считали число cin >> x;
2. Дальше?
...
...
...
8. Дальше?
9. Финиш...

Jonik-Mnimonik 22-12-2010 21:47 1572358

Для того что зайти в цикл, необходимо ввести x больше 1000, но тогда точно из цикла ты уже не выйдешь, так как значение x всегда будет больше 7

Мне кажется тебе просто знак необходимо поменять на другой в условии While
и вместо if (x>=3, x<=7) написать не if (x >= 3 || x <= 7), а if (x >= 3 && x <= 7)

lxa85 22-12-2010 22:53 1572410

Логическое "И" как пишется ? && ?
Называется преподы собрались в кружёк, расклады на пальцах прикидывают :laugh:

Cherterok 22-12-2010 23:16 1572421

Код:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{  double x,
          end = 1000, 
          steep = 1; 
  cout<<"Vvedite X"<<"\n";
  cin>>x;
  while(x < end){
      cout<<" Znachenie = "<<x<<endl;
      if (x>=3 && x<=7)
  break;
          x +=steep;  }
  cout<<x<< "\n";
  system("pause");}

вот сделал:) спасибо за && )) помогло вроде бы

Цитата:

Цитата lxa85
Логическое "И" как пишется ? && ?
Называется преподы собрались в кружёк, расклады на пальцах прикидывают »

нужно написать модерам что ты часто флудиш... ни одной умной речи не увидел

Delirium 23-12-2010 06:42 1572560

Цитата:

Цитата Cherterok
нужно написать модерам что ты часто флудиш... ни одной умной речи не увидел »

Cherterok, писать не надо, мы блим и блюдим днем и ночью. А вот насчет неумных речей от lxa85 я бы засомневался. Не может преподаватель со стажем быть глупее вас и не знать той элементарной теории, которую вы не желаете изучать.

Drongo 23-12-2010 11:42 1572754

Jonik-Mnimonik, lxa85, Delirium, Блин, ребята, вот это я лопухнулся. Ведь в уме понимал что and логическое И, а впендюрил ИЛИ :not-me: :gigi:
Цитата:

Цитата lxa85
Логическое "И" как пишется ? && ? »

Логическое И - &&
Логическое ИЛИ - ||

Цитата:

Цитата Cherterok
нужно написать модерам что ты часто флудиш... ни одной умной речи не увидел »

Ок, спасибо за сигнал, обязательно примем меры. lxa85, готовься к публичному расстрелу на рассвете. :biggrin:

Cherterok 23-12-2010 18:46 1573028

Цитата:

Цитата Delirium
Цитата Cherterok:
нужно написать модерам что ты часто флудиш... ни одной умной речи не увидел »
Cherterok, писать не надо, мы блим и блюдим днем и ночью. А вот насчет неумных речей от lxa85 я бы засомневался. Не может преподаватель со стажем быть глупее вас и не знать той элементарной теории, которую вы не желаете изучать. »

ну лично от него я ничего неувидел нужного:))) другие ито больше помогли даже с тем же И


Время: 07:35.

Время: 07:35.
© OSzone.net 2001-