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

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

Войти
Регистрация
Восстановить пароль
 
puma3085
38 / 1 / 0
Регистрация: 27.03.2014
Сообщений: 38
#1

Рандомные значения - C++

20.04.2014, 18:35. Просмотров 627. Ответов 1
Метки нет (Все метки)

Есть прога. Хочу если пользователь ввел в строке элементы n или x, то они заменились. Но прога не работает. В чем ошибка?(Например при вводе NDRF6xnx выводилось NDRF67H9 )
код :
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
31
32
33
34
35
36
37
38
39
40
#include <cstdlib>
#include<iostream>
#include <ctime>
#include <string>
 
using namespace std;
char RandomNum()
{
    int lower = 2, upper = 9, val;
    srand(time(0));
    val = lower + rand() % (upper - lower + 1); 
    return val;
}
char RandomChar(){
    char a;
    int i = 0;
    srand(time(0));
    a = rand() % ('z' - 'a' + 1) + 'a';
    return a;
}
int main()
{
    int a, rc,rn,lk;
    char kod[10];
    string n;
    cout << "Insert mask!"<< endl;
    cin >> n;
    a=n.length();
    for(int i(0);i<a;i++) kod[i] = n[i]; 
    for(int j(0); j<a;j++)
    {
        if(kod[j] == 'x') {rn =RandomNum();kod[j]=rn;}
        else if(kod[j] == 'n') {rc =RandomChar();kod[j]=rc;}
        else lk++;
    }
    cout << "wait"<<endl;
    cout << "kod[2] = " << kod[2]<<endl;
    for(int i(0);i < a;i++) cout << kod[i];
    system("pause");return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 18:35     Рандомные значения
Посмотрите здесь:

C++ Рандомные числа
Рандомные стенки в игре Змейка C++
сделать рандомные числа C++
Баг в коде(псевдо-рандомные числа) C++
C++ Рандомные числа
C++ Рандомные числа
C++ Рандомные дроби с 2-3 знаками после запятой
C++ Не получается создавать рандомные числа
Как сделать рандомные выводы слов и стихов C++
C++ Массив и рандомные числа
C++ Рандомные числа при компиляции
C++ Вывести из файла рандомные числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
20.04.2014, 19:13     Рандомные значения #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <string>
 
using namespace std;
char RandomNum()
{
    int lower = 2, upper = 9, val;
    val = 2 + (rand() % (int) (9 - 2 + 1));
    return val;
}
char RandomChar(){
    char a;
    int i = 0;
    a = (rand() % ('z' - 'a' + 1)) + 'a';
    return a;
}
int main()
{
    int a, rc, rn;
    char buffer[2];
    char kod[10];
    string n;
 
    srand(clock());
 
    cout << "Insert mask!" << endl;
    cin >> n;
    a = n.length();
    for (int i(0); i<a; i++) kod[i] = n[i];
    for (int j(0); j<a; j++)
    {
        if (kod[j] == 'x') { rn = RandomNum(); itoa(rn, buffer, 10); kod[j] = buffer[0]; }
        if (kod[j] == 'n') { rc = RandomChar(); kod[j] = rc; }
    }
    cout << "============================" << endl;
    for (int i = 0; i < a; i++) cout << kod[i];
    cout << endl << "============================" << endl;
    system("pause"); return 0;
}
Yandex
Объявления
20.04.2014, 19:13     Рандомные значения
Ответ Создать тему
Опции темы

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