Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
#1

Цикл почему-то не заканчивается. - C++

14.04.2011, 19:50. Просмотров 517. Ответов 4
Метки нет (Все метки)

Значит идея такая пока не сгенерируется число =2 цикл будет повторяться. Но когда число =2 цикл все равно не заканчивается. Подскажите почему?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <windows.h>
#include<time.h>
#include <cstdlib>
#include <time.h>
#define randomize() srand((unsigned)time(NULL));
#define random(p) ((int)(rand()*p/RAND_MAX))
using namespace std;
 
int main()
{
int a,i;
srand (clock()); 
i=0;
a=1;
while (a!=2) {
int a = rand()%3 + 1; // Случайное число.
cout<<a <<endl;
Sleep(0);
i=i+1; 
}
cout<<i <<endl;
system("Pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2011, 19:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл почему-то не заканчивается. (C++):

Почему цикл не заканчивается??? - C++
Всем добрый день! У меня здесь вопрос по циклу while. Вот программа по подсчёту букв и сочетаний в тексте: #include &lt;iostream&gt; ...

не понимаю почему цикл не заканчивается - C++
Привет! Вот написал. Объясните, пожалуйста, почему цикл не заканчивается? Функция должна считывать инфу и записывать в массив! Идеи по...

Цикл заканчивается не так, как задано в условии - C++
Здравствуйте! Есть задача: вычислить бесконечную сумму выражения 1+\frac{1}{1!}+\frac{1}{2!}+...+\frac{1}{n!} с точностью до \varepsilon =...

Почему программа заканчивается? - C++
Напишите программу, в которой функция fprintf() используется для создания файла инвентарной описи, содержащей сведения о наименовании...

Почему распечатка не заканчивается одной строкой? - C++
#include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main(int nNumberofArgs, char* pszArgs) { ...

Почему цикл на при 1 уходит в бесконечный цикл? - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { int x=0, y=0,...

4
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
14.04.2011, 19:54 #2
а в условии цикла не изменяется.

Добавлено через 26 секунд
А вот а в строке 17 изменяется.

Добавлено через 59 секунд
Почитайте про область видимости переменных.
0
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
14.04.2011, 20:13  [ТС] #3
И как тогда сделать?

Добавлено через 17 минут
Так и не понял почему так не работает сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <windows.h>
#include<time.h>
#include <cstdlib>
#include <time.h>
#define randomize() srand((unsigned)time(NULL));
#define random(p) ((int)(rand()*p/RAND_MAX))
using namespace std;
 
int main()
{
int a,i,k;
srand (clock()); 
i=0;
a=1;
k=1;
while (k!=2) {
int a = rand()%101 + 1; // Случайное число.
if (a==100) { k=2;}
cout<<a <<endl;
Sleep(0);
i=i+1; 
}
cout<<i <<endl;
system("Pause");
}
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
14.04.2011, 20:17 #4
По первому посту:
Строка 16 - используется а, объявленная в строке 12 и инициализированная в строке 15.
Строка 20 - выводится а созданная в строке 18. Это СОВСЕМ ДРУГАЯ а.

Давайте переменным осмысленные имена.
Помимо a,i,k есть ещё многабукафф.
0
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
14.04.2011, 20:24 #5
попробуйте вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <windows.h>
#include<time.h>
#include <cstdlib>
#include <time.h>
#define randomize() srand((unsigned)time(NULL));
#define random(p) ((int)(rand()*p/RAND_MAX))
using namespace std;
 
int main()
{
int a,i;
srand (clock()); 
i=0;a=0;
do{
 a = rand()%3 + 1; // Ñëó÷Г*Г©Г*îå ÷èñëî.
cout<<a <<endl;
Sleep(70);
i=i+1; 
}while (a!=2);
cout<<i<<" "<<a <<endl;
system("Pause");
}
1
14.04.2011, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 20:24
Привет! Вот еще темы с ответами:

Почему не входит в цикл? - C++
#include &lt;iostream&gt; #include &lt;string&gt; int main(){ std::string s, t, path; short int sp=0, tp=0, tf=0, sf=0; ...

Почему не выполняется цикл? - C++
Здравствуйте. Вот код: int main() { vector &lt;Book&gt; books; Book item = Book(); bool flag = true; char ans =...

Почему игнорируется цикл? - C++
Всем добрый день! Как я понял, игнорируется цикл. Ответ выдается тот же, что и при вводе x. Буду рад помощи! #include &lt;iostream&gt; ...

Почему не заходит в цикл? - C++
Добрый день, почему у меня в режиме отладки &quot;не заходит&quot; в цикл, просто проскакивает его. Заранее спасибо. #include &lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.