Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
galayko
5 / 5 / 2
Регистрация: 20.10.2013
Сообщений: 68
#1

Генерация случайного четырехзначного числа без цифр, больших 7 и 0 - C++

04.05.2014, 11:37. Просмотров 411. Ответов 3
Метки нет (Все метки)

Нужно сгенерировать случайное четырехзначные число без цифр, больших 7 и 0.
Пишу вот такой код:
Но он ничего не выводится. Зацикливается. Но, когда убираю условие про 0 (в 19 строке), то выводит 3 числа, всегда одинаковых. Как-будто дальше число с цифрой, больше 7, и опять зацикливается.
Возникают вопросы:
1) Почему зацикливается?
2) Как сделать, чтобы числа всегда были разные?

C++ (Qt)
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    int guess,a,f=0;
    for(;;)
    {
    do
    {
        guess = rand() % 8998+1001;
        a = guess;
        while(a>0&&!f)
        {
            f=0;
            if(a%10>7||) f=1;
            a = a/10;
 
        }
    }
    while (f); cout << guess << endl;}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2014, 11:37     Генерация случайного четырехзначного числа без цифр, больших 7 и 0
Посмотрите здесь:

Генерация случайного числа - C++
Сори за вопрос может уже обсуждался не раз, но всё же возник. Как правильно сгенерировать число от 0 до 1 и какой тип данных лучше...

Генерация случайного числа - C++
Проблемма такова: в программе необходимо получить несколько чисел, от 1 до 255 (или max будет другим -- пока не важно). Стандартные...

Генерация пятизначного случайного числа - C++
Нужно сгенерировать случайное число из пяти цифр и записать ее в переменную типа string. Пытаюсь 5 генерировать цифры в цикле, а как их...

Генерация случайного простого числа - C++
Добрый вечер всем! У меня такая проблемма. Необходимо чтобы сгенерировалось 2 простых случайных числа. Для этого я написал функцию с...

Запись текста и генерация случайного числа - C++
Собственно задача такая: записать строки с рандомными числовым значением в некоторое количество создаваймых файлов. Файлы создаются без...

Генерация случайного числа каждую секунду - C++
Нужно каждую секунду генерировать случайное число. Ниже мой код, который выполняет задачу, но функция слип останавливает весь процесс и в...

Генерация случайного числа с плавающей чточкой - C++
Добрый день. Подскажите как генерировать случайное число типа float или double. Обычно использую rand(), но она подходит только для целых,...

Генерация случайного числа больше нуля, но меньше единицы - C++
Всем привет. Подскажите, как можно генерировать псевдослучайное число больше нуля, но меньше единицы. При этом количество цифр после...

Найти произведение цифр заданного четырехзначного числа - C++
Можно ли написать простую прогу на с++ без лишних операторов. mod и div eще не знаю. или нужно обходится сложными операциями. или...

Найти произведение цифр заданного четырехзначного числа - C++
Найти произведение цифр заданного четырехзначного числа. (c++)

Найти сумму и произведение цифр четырехзначного числа - C++
Задано четырехзначное число. Найти сумму и произведение его цифр.помогите с написанием кода

Найти произведение цифр заданного четырехзначного числа - C++
доброго времени суток! помогите составить программу, которая решит эту задачу. спасибо Найти произведение цифр заданного четырехзначного...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
04.05.2014, 11:43     Генерация случайного четырехзначного числа без цифр, больших 7 и 0 #2
C++
1
if(a%10>7||)
что это?
galayko
5 / 5 / 2
Регистрация: 20.10.2013
Сообщений: 68
04.05.2014, 12:09  [ТС]     Генерация случайного четырехзначного числа без цифр, больших 7 и 0 #3
Забыл скопировать)
Там условие if(a%10>7||a%10==0)
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
04.05.2014, 12:20     Генерация случайного четырехзначного числа без цифр, больших 7 и 0 #4
Цитата Сообщение от galayko Посмотреть сообщение
1) Почему зацикливается?
У вас бесконечный цикл.

Можете попробовать так:
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
27
28
#include <iostream>
#include <ctime>
#include <cmath>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    int guess,s;
    for(int j=0;j<20;j++)
    {
        guess=0;
        for(int i=0;i<3;i++)
        {
        s=(7.*rand())/RAND_MAX;
        guess = guess+pow(10,i)*s;
        }
        s=1+(6.*rand())/RAND_MAX;
        guess=guess+pow(10,3)*s;
 
        cout << guess << endl;
  
    }
    
    return 0;
}
Yandex
Объявления
04.05.2014, 12:20     Генерация случайного четырехзначного числа без цифр, больших 7 и 0
Ответ Создать тему
Опции темы

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