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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.83
Alekto
1 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 51
#1

Программа с генератором случайных чисел - C++

13.09.2011, 12:55. Просмотров 3913. Ответов 30
Метки нет (Все метки)

Написать программу которая генерирует 2 целых числа от 0 до 9 и спрашивает произведение у пользователя, а потом сверяет его с верным.


среда программирования Visual Studio 2010
язык Си или Си++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 12:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа с генератором случайных чисел (C++):

Работа с генератором случайных чисел - C++
Здравствуйте, уважаемые форумчане. Прошу помощи вот с такой задачей, не могу никак ничего придумать. Вот собственно задача: ...

Как работать с генератором случайных чисел - C++
В интернете нашёл мешалку для vector'a #include <algorithm> #include <functional> #include <vector> #include <set> #include...

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

Описать функции элементов одномерного массива с генератором случайных чисел - C++
Описать функции формирования элементов одномерного массива с помощью генератора случайных чисел и изменения всех элементов массива на...

Отладка кода с генератором случайных функций - C++
Есть код генератора рандома для вызова одной из функций #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h>...

Программа, генерирующая 3 последовательности из 10-и случайных чисел - C++
Приветствую, уважаемые пользователи=) Помогите пожалуйста с задачкой, или покажите, где можно прочитать о этой функции, я не с...

30
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
13.09.2011, 12:57 #2
Генерирует 2 числа, а спрашивает 1 ответ... Что должен ответить пользователь, уточните?
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.09.2011, 13:00 #3
Может быть как-то так?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
int main() {
   int a, b, c;
   
   a = rand() % 10;
   b = rand() % 10;
   
   printf("%d * %d = ", a, b);
   scanf("%d", &c);
   
   printf("%s\n", c == a*b ? "you're right" : "you aren't right");
   return 0;
}
2
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
13.09.2011, 13:01 #4
Для 1 числа:
C++
1
2
3
4
5
6
7
8
 srand(time(NULL));
 int a=rand()%10;
 int b;
 cin >> b;
 if (a==b) cout << "YES!"<<endl;
 else cout << "NO!"<<endl;
 system("pause");
 return 0;
Дальше сами догадаетесь?

Добавлено через 1 минуту
Цитата Сообщение от fasked Посмотреть сообщение
Может быть как-то так?
Возможно, из условия не очень понятно =)
1
-=ЮрА=-
Заблокирован
Автор FAQ
13.09.2011, 13:18 #5
fasked, протос вопрос
Цитата Сообщение от Alekto Посмотреть сообщение
среда программирования Visual Studio 2010
и
Цитата Сообщение от fasked Посмотреть сообщение
#include <stdio.h>
#include <stdlib.h>
не настораживает???
0
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
13.09.2011, 13:20 #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не настораживает???
Почему это должно настораживать? Разве VC2010 не умеет C?
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.09.2011, 13:23 #7
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не настораживает???
Да вообще ни разу.
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
13.09.2011, 13:26 #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не настораживает?
Цитата Сообщение от Alekto Посмотреть сообщение
язык Си или Си++
Не, не настораживает. А должно бы?
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.09.2011, 13:30 #9
Цитата Сообщение от Alekto Посмотреть сообщение
Написать программу которая генерирует 2 целых числа от 0 до 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream> //i/o
#include <cstdlib>  //rand srand
#include <conio.h>  //getch
#include <time.h>   //time - нужна для srand
 
 
using namespace std;
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
//Генерация случайного числа с возможностью установки 
//максимального значения генерируемого числа
int GetRandNum(int MaxRand);
 
int main()
{
    int a,b,c;
    std::cout<<"Введите предел генерируемого числа : ";
    int MaxRand;std::cin>>MaxRand;
    do
    {
        srand(time(NULL));
        
        a = GetRandNum(MaxRand);
        b = GetRandNum(MaxRand);
        std::cout<<"Введите произведение a*b : ";
        std::cin>>c;
 
        if(c != a*b)
            std::cout<<"Неверный ответ\r\n";
        std::cout<<" a*b = "<<a*b<<"\r\n";
        std::cout<<"Нажмите клавишу Y для нового теста\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
int GetRandNum(int MaxRand)
{
    int ret = rand();
    while(MaxRand < ret)
        ret = rand();
    return ret;
}
0
Миниатюры
Программа с генератором случайных чисел  
-=ЮрА=-
Заблокирован
Автор FAQ
13.09.2011, 13:33 #10
easybudda,
fasked,
grizlik78, не раз выслушивал критику в свой адрес здесь на форуме том что заголовки в моих программах в старом стиле, вот и спросил...
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.09.2011, 13:36 #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не раз выслушивал критику в свой адрес здесь на форуме том что заголовки в моих программах в старом стиле, вот и спросил...
Ну так надо различать Си и С++, моя программа написана на Си, где альтернатив в стандартной библиотеке просто нет.
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
13.09.2011, 13:57 #12
чуть проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <ctime>
    
using namespace std;
    
int main(){
    srand(time(NULL));
    
    while ( true ){
        int a = rand() % 10;
        int b = rand() % 10;
        int c;
        
        cout << a << " x " << b << " = ";
        if ( ! ( cin >> c ) )
            break;
        cout << ( ( a * b == c ) ? "correct" : "wrong" ) << endl;
    }
    
    return 0;
}

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
заголовки в старом стиле
В моём представлении это что-то вроде <iostream.h>
Заголовки вроде <stdio.h> или <stdlib.h> - C стиль, то есть в программе на С написать
C
1
#include <cstdio>
было бы странной затеей...

Добавлено через 6 минут
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
C++
1
2
3
4
5
6
7
int GetRandNum(int MaxRand) 
{ 
    int ret = rand(); 
    while(MaxRand < ret) 
        ret = rand(); 
    return ret; 
}
Кстати о странных затеях - в теории может навсегда задуматься. А на практике будет какой-то непонятный тормоз. При большом желании можно посчитать, с какого раза в среднем оно число вернёт. Зачем это?

Добавлено через 12 минут
-=ЮрА=-, мало того! В самой программе у тебя перемножаются 2 числа от 0 до запрошенного у пользователя, перемножаются, и пользователь должен ответ назвать. Во-первых как-то не вяжется с
Цитата Сообщение от Alekto Посмотреть сообщение
генерирует 2 целых числа от 0 до 9
а во-вторых, думаю, всё-таки пользователь должен видеть числа и выдавать результат, а программа - проверять, насколько хорошо он таблицу умножения знает. Угадать в тёмную пятизначное число (на твоём скрине) - не реально. От 0 до 81, и то не у всех с первого раза получится...
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.09.2011, 15:15 #13
Цитата Сообщение от easybudda Посмотреть сообщение
В самой программе у тебя перемножаются 2 числа от 0 до запрошенного у пользователя,
- пользователь указывает диапазон генерации чисел, это не одно и тоже, если бы задание было получить произведение двух случайных чисел, без MaxRan вообще за пределы INT_MAX могли выпрыгнуть
Цитата Сообщение от easybudda Посмотреть сообщение
Угадать в тёмную пятизначное число (на твоём скрине) - не реально. От 0 до 81, и то не у всех с первого раза получится...
- вбил MaxRand чисто в целях тестирования задача стояла
Цитата Сообщение от Alekto Посмотреть сообщение
Написать программу которая генерирует 2 целых числа от 0 до 9
-вбили MaxRand 9 и пользуемся, насчёт вывода сам ТС должен уточнить что ему при выводе нужно...

Цитата Сообщение от easybudda Посмотреть сообщение
заголовки в старом стиле
В моём представлении это что-то вроде <iostream.h>
Заголовки вроде <stdio.h> или <stdlib.h> - C стиль, то есть в программе на С написать
Код C
1
#include <cstdio>
было бы странной затеей...
- на счёт стилей заголовков я писал на основе этого топика Старый и новый стиль заголовков и постов в нём...
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.09.2011, 15:20 #14
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
на счёт стилей заголовков я писал на основе этого топика
Не нашел ни слова касательно языка Си.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
вбил MaxRan чисто в целях тестирования задача стояла
А выкладываете как production code.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
вбили MaxRand 9 и пользуемся
Несоответствие ТЗ.

Не по теме:

Жаль, что нет тега irony специально для таких случаев

0
-=ЮрА=-
Заблокирован
Автор FAQ
13.09.2011, 15:26 #15
Цитата Сообщение от fasked Посмотреть сообщение
Несоответствие ТЗ.
- что это значит?

Цитата Сообщение от fasked Посмотреть сообщение
Не нашел ни слова касательно языка Си.
- 2-й пост в том топике...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2011, 15:26
Привет! Вот еще темы с ответами:

Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел - C++
Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел типа float, что не больше...

Программа выводит пять случайных чисел вместо трех - C++
Програма выводит 5 чисел вместо 3. Почему? srand(time(0)); c = 1 + rand() % 10; x = 1 + rand() % 170; y = 1 + rand()...

Программа, помещающая 25 случайных целых чисел в диапазоне от 0 до 100 в упорядоченный список - C++
Напишите программу, которая помещает 25 случайных целых чисел в диапазоне от 0 до 100 в упорядоченный список. Вычислите сумму и среднее...

Сформировать одномерный массив целых чисел, используя датчик случайных чисел - C++
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.Распечатать полученный массив. Удалить 5 первых элементов...


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

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

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