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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
#1

Генерация чисел - C++

28.04.2009, 19:36. Просмотров 1187. Ответов 11
Метки нет (Все метки)

Нужно программа для генерации тризначных чисел и таких, что бы в этих числах них не было парных цифр. ТИпу, если число "ХХХ", то "Х" не должно быть парным.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2009, 19:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация чисел (C++):

Генерация чисел - C++
Помогите написать программу, а мучусь уже два часа. :) Нужно сгенерировать 30 трёхзначных чисел, и что бы в цифры этих чисел не были...

генерация чисел - C++
написать прогу, которая генерирует последовательность из 10 случайных чисел в диапозоне от 1 до 10, выводит эти числа на экран и вычисляет...

Генерация чисел - C++
Доброго времени суток, не могли бы вы подсказать как выбрать рандомно число из двух чисел 2 и 4 и в диапозоне от 1 до 4 благодарю

Генерация чисел - C++
Вообщем мне нужно сгенерировать отрицательное вещественное число с 2 цифрами целой и 2 цифрами дробной части. Отрицательное ведь так...

генерация чисел - C++
Скажите, пожалуйста, как сгенерировать случайным образом отрицательные числа?

Генерация псевдослучайных чисел - C++
Здравствуйте! Пишу программу, в ней мне нужно использовать случайные числа, сгенерированные в заданном диапазоне. Подскажите пожалуйста,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 19:58 #2
В смысле, генерации СЛУЧАЙНЫХ, но "таких что..." правильно ли я понял ?
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.04.2009, 20:04 #3
ну вот можно как-то вот так:
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
29
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    const int size=3;
    char str[size];
    char c[2];
    int number;
    int x;
 
    srand(time(0));
 
    for (int i=0; i<size; i++)
    {
        do { x = rand()%10; }
            while (x%2==0);
 
        sprintf(c, "%d", x);
        str[i] = c[0];
    }
 
    number = atoi(str);
    cout << number;
 
    return 0;
}
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
28.04.2009, 20:19  [ТС] #4
да!

Добавлено через 14 минут 22 секунды
не генерирует!

Добавлено через 36 секунд
и еще прога должна быть написана в Борланд С++ 3.1
Noa
57 / 34 / 4
Регистрация: 08.04.2008
Сообщений: 158
28.04.2009, 23:29 #5
Monte-Cristo, не, действительно не то, у меня выдало 977 и 711 =)

Цитата Сообщение от NAG Посмотреть сообщение
и еще прога должна быть написана в Борланд С++ 3.1
Тут в чем проблема состоит?
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.04.2009, 23:33 #6
Цитата Сообщение от Noa Посмотреть сообщение
Monte-Cristo, не, действительно не то, у меня выдало 977 и 711 =)
так а что означает парным? я принял в расчет, что это четное число. и относительно этого написал программу.


Цитата Сообщение от NAG Посмотреть сообщение
и еще прога должна быть написана в Борланд С++ 3.1
мой код, должен там компилироватся.
Noa
57 / 34 / 4
Регистрация: 08.04.2008
Сообщений: 158
28.04.2009, 23:45 #7
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
так а что означает парным?
Как я понял, это чтобы цифры не повторялись подряд. Хотя перечитав первый пост:

Цитата Сообщение от NAG Посмотреть сообщение
Нужно программа для генерации тризначных чисел
думаю, что все-таки ты прав.
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
29.04.2009, 09:21  [ТС] #8
цыфри числа не должни бить четными! А та программа что написана выше в Борланде С++ 3.1 не компелируется! =(
YurA_280784
Заблокирован
29.04.2009, 09:55 #9
Задание ОЧЕНЬ простое, вот что накодил
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
29
30
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main()
{
    int num = RAND_MAX;
    char chBuf[3];
    bool bContinue = true;
    while(bContinue)
    {
        if((num = rand()) < 999)
        {
            if(99 < num)
            {
                sprintf(chBuf,"%d", num);
                if(
                    chBuf[0] != chBuf[1] && 
                    chBuf[1] != chBuf[2]
                    )
                bContinue = false;
            }
        }
    }
    printf("Sgenerirovannoe chislo : %d\r\n",num);
    printf("Vvedite 1 chtobi sformirovat' eshe raz\r\n");
    if(getch() == 49)
        main();
}
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
29.04.2009, 10:08 #10
NAG, телепаты уехали картошку садить..
напишите ошибки...

Добавлено через 4 минуты 2 секунды
YurA_280784, необходимо
char chBuf[4];, иначе при выполнении будет вызыватся ошибка, в связи с нехваткой места для '\0'

кроме того, у вас машинозависимый код: у меня, например, всегда вылетает число 491...

Добавлено через 2 минуты 9 секунд
NAG, попробуйте в Bcc 3.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
29
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
int main()
{
    const int size=3;
    char str[size];
    char c[2];
    int number;
    int x;
 
    srand(time(0));
 
    for (int i=0; i<size; i++)
    {
        do { x = rand()%10; }
            while (x%2==0);
 
        sprintf(c, "%d", x);
        str[i] = c[0];
    }
 
    number = atoi(str);
    cout << number;
 
    return 0;
}
YurA_280784
Заблокирован
29.04.2009, 10:24 #11
За строку согласен когда в дебуг варианте делал ошибок не біло, а в релизе выкинуло прогу, да 4 символа, согласен, ну а за машиннозависимость эт не так, вот скриншот работы
Миниатюры
Генерация чисел  
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
29.04.2009, 10:41 #12
а теперь запустите прогу, и увидите что набор выводящихся значений повторится..
у меня теже значения... чтобы обойти это, достаточно в начло проги добавить:

srand(time(0));

Добавлено через 3 минуты 12 секунд
да и по-моему код работает немножечко не так:
четные числа попадаются.. должно быть в где-то просчитались...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2009, 10:41
Привет! Вот еще темы с ответами:

Генерация случайных чисел - C++
Здравствуйте, появилась такая проблема: при генерации случайного числа функцией rand(); мне нужно сгенерировать 5 случайных чисел, но...

Генерация случайных чисел - C++
Подскажите пожалуйста правильно ли я осуществил перевод строк из С в С++, сомневаюсь С - randomize(); С++ - srand(NULL); С ...

C++11 генерация псевдослучайных чисел - C++
Хотел заполнить матрицу максимального потребления ресурсов процессами (алгоритм банкира), но при генерации чисел возникла проблема (ошибка...

Генерация случайных чисел - C++
Доброго времени суток ! Как генерировать случайное число например в диапазоне от 1 до 52 а потом исключить это число, и генерировать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.04.2009, 10:41
Ответ Создать тему
Опции темы

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