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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
28.04.2009, 19:36     Генерация чисел #1
Нужно программа для генерации тризначных чисел и таких, что бы в этих числах них не было парных цифр. ТИпу, если число "ХХХ", то "Х" не должно быть парным.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 19:58     Генерация чисел #2
В смысле, генерации СЛУЧАЙНЫХ, но "таких что..." правильно ли я понял ?
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 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
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
28.04.2009, 23:29     Генерация чисел #5
Monte-Cristo, не, действительно не то, у меня выдало 977 и 711 =)

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


Цитата Сообщение от NAG Посмотреть сообщение
и еще прога должна быть написана в Борланд С++ 3.1
мой код, должен там компилироватся.
Noa
56 / 33 / 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
 Аватар для Monte-Cristo
2807 / 1372 / 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 символа, согласен, ну а за машиннозависимость эт не так, вот скриншот работы
Миниатюры
Генерация чисел  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2009, 10:41     Генерация чисел
Еще ссылки по теме:

C++ генерация чисел
C++ Генерация чисел
C++ Генерация псевдослучайных чисел.с++
C++ Генерация рандомных чисел
Генерация случайных чисел C++

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

Или воспользуйтесь поиском по форуму:
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
29.04.2009, 10:41     Генерация чисел #12
а теперь запустите прогу, и увидите что набор выводящихся значений повторится..
у меня теже значения... чтобы обойти это, достаточно в начло проги добавить:

srand(time(0));

Добавлено через 3 минуты 12 секунд
да и по-моему код работает немножечко не так:
четные числа попадаются.. должно быть в где-то просчитались...
Yandex
Объявления
29.04.2009, 10:41     Генерация чисел
Ответ Создать тему
Опции темы

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