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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
POMIDORKA
1 / 1 / 0
Регистрация: 11.05.2011
Сообщений: 30
#1

"Угадай число" (напишите программу, хочу проверить со своей). - C++

29.06.2011, 13:49. Просмотров 3148. Ответов 20
Метки нет (Все метки)

"Угадай число". Пользователю предлагается отгадать число за 10 попыток. Программа даёт подсказки вида больше, меньше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2011, 13:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "Угадай число" (напишите программу, хочу проверить со своей). (C++):

Написать программу "Угадай число" - C++
Один из играющих задумывает число от 1 до 1000, другой пытается угадать его за 10 вопросов вида: верно ли, что задуманное число больше...

Game "Угадай число" как зделать запрет на "букви" ???? - C++
Привет всем кто решил помочь. Написал прогру, но есть проблемка, когда ввожу "букву" вся прога беситса как мне зделать так что б он...

Программу "Угадай число" - C++
Необходимо написать программу "Угадай число". После того,как число угадано, программа спрашивает, хотите ли вы еще раз сыграть. После ввода...

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

Реализовать генерацию случайных чисел для игры "Угадай число" - C++
Всем привет!написал код для игры. По условию компьютер должен загадать число от 1 до 100 и пользователь должен отгадать это число за 6...

Нужен совет по задаче "Угадай число" - C++
Вася загадал число от 1 до N. За какое наименьшее количество вопросов (на которые Вася отвечает "да" или "нет") Петя может угадать Васино...

20
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.07.2011, 15:16 #16
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
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include <time.h>
 
 
int main()
{
    srand( time ( 0 ) );
    int number;
    bool success = false;
    int difficult;
    int choice;
    cout << "Try to find random number\nSelect Dificult:\n\t1.Easy\t( 10 lives )\n\t2.Normal( 8 lives )\n\t3.Hell!\t( 5 lives )\n";
    cin >> difficult;
 
    int lives;
    difficult == 1 ? difficult = 10 : difficult == 2 ? difficult = 8 : difficult = 5;
    number = rand() % 100 + 1;
    system("cls");
    cout << "Now it's your turn 2 find the number (1-100) !\n\tTry to stay alive!"<<endl << endl;
    while ( difficult > 0)
    {
        
        cout << "====================================================";
        if ( difficult > 1 )
            cout << "\nYou still have " << difficult << " lives! You still can win!";
        else
            cout << "\nLast chance!";
        difficult--;
        cout << "\nEnter the number: ";
        cin >> choice;
        if ( choice > 100 && choice < 0 ) 
            cout << "Enter the numbers 0 < x < 100";
        {
            
            if( number < choice ) 
                cout << "Too big!";
            else
                if ( number == choice ) { cout << "Unbeliviable! YOU GOT IT!! CONGRATULATIONS ! "; break; }
            else cout << "Too small!";
            cout << endl;
        }
 
    }
    if ( difficult == 0 ) 
        cout << "\t\tGAME OVER";
 
    cout << endl;
    system("pause");
    return 0;
}
ыть )
0
Nameless One
30.07.2011, 08:26
  #17

Не по теме:

Вы бы еще факториалами померялись...

2
leoned
30 / 30 / 1
Регистрация: 30.06.2011
Сообщений: 467
30.07.2011, 18:13 #18
Цитата Сообщение от xAtom Посмотреть сообщение
Вот начиркал прогу, вы указывайте диапазон и число попыток компьютеру, своё число держите в уме, подсказыайте ему вот комманды: меньше, больше, угадал.
прикольнуло)минут 15 баловался потом надоело
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
17.08.2011, 12:39 #19
Есть такая игра в примерах компилятора Dev-C++.
0
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
17.08.2011, 13:24 #20
Цитата Сообщение от vortexx1 Посмотреть сообщение
Напиши лучше программу, которая так же отгадывает у пользователя его число, а он только вводит больше/меньше. ИМХО, так сложнее и интереснее.
Внесу свою лепту:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
 
#define LESS   -1
#define EQU     0
#define GREATER 1
 
 
char tryToGuess( int num )
{
    printf( "My guess is %i.\n1) My number is less\n2) You guessed!\n3) My number is greater\n>", num );
 
    int i;
 
    do scanf( "%i", &i );
    while( i < 1 || i > 3 );
 
    return i - 2;
}
 
int main( int argc, char ** argv )
{
    int iMin, iMax; /* минимальное и максимальное числа */
    char responce; /* Ответ пользователя: меньше, равно, больше, да, нет */
 
    puts( "============ Number guesser ============" );
 
    do
    {
 
        printf( "\nPlease enter the minimum number\n>" );
        scanf( "%i", &iMin );
 
        printf( "Please enter the maximum number\n>" );
        scanf( "%i", &iMax );
 
        int low = iMin, high = ++iMax, tries = 1; /* нижняя граница, верхняя граница, количество попыток */
 
        do
        {
            int half = (low + high) / 2;
 
            if( low >= high )
            {
                puts( "Don't try to fool me!" );
                break;
            }
 
            responce = tryToGuess( half );
 
            if( responce == LESS )
               high = half;
            else if( responce == GREATER )
               low = half + 1;
            else
               break;
 
            tries++;
        }
        while( 1 );
 
        if( responce == EQU )
           printf( "It took me %i tries to guess your number\n", tries );
 
        do
        {
            fseek( stdin, 0, SEEK_END );
 
            printf( "Do you want to play with me again? [y/N] " );
            scanf( "%c", &responce );
 
            responce = toupper( responce );
        }
        while( responce != 'Y' && responce != 'N' );
    }
    while( responce != 'N' );
 
    return 0;
}
0
alkagolik
Заблокирован
17.08.2011, 17:52 #21
ИМХО, так сложнее и интереснее
алгоритм Евклида именно эту задачу и выполняет. Особо в коды не вчитывался, но думаю что в теме реализован. Если надо найти за 10 шагов, то диапазон=2^10, это если оговорено что число больше нуля.

Добавлено через 1 минуту
Это в продолжение темы "Напешыте хело ворлд"?
0
17.08.2011, 17:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2011, 17:52
Привет! Вот еще темы с ответами:

Исправить ошибки в программе "угадай число" - C++
суть программы, генерирует случайное число от 1 до 1000, запрашивает число и говорит больше или меньше, если введено не число выдаёт...

Готовая игра "угадай число" - C++
#include &lt;iostream.h&gt; int main () { int x=rnd%256; int d; int masks={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}; ...

Оптимизация игры "Угадай число" - C++
Буду рад если подскажите что здесь лишние. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iostream&gt; ...

Игра "Угадай число" - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main(){ setlocale(LC_ALL,&quot;rus&quot;); int num, ques, i, menu=1,...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

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