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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) - C++

26.04.2013, 15:54. Просмотров 1699. Ответов 22
Метки нет (Все метки)

Компьютер должен угадать задуманное пользователем число с 7-ми попыток.
Хотел написать с использованием циклов, а не просто перебором if-else. Но не всегда получается, как я смотрю.

Есть ли какое математическое решение для правильного выбора слагаемых
C++
1
op[i]
при проверке в цикле, а то не всегда 7 раз хватает?
Можно ли решать задачу решенной?

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
    vector<int> op(7);
            op[0]=25;
            op[1]=21;
            op[2]=17;
            op[3]=13;
            op[4]=9;
            op[5]=5;
            op[6]=1;
    int nv=50;
    char ans='a';
    for (unsigned int i=0;i<op.size();++i)
    {
        cout<<"Is value bigger/smaller than "<<nv<<" or equal?\n";
        cin>>ans;
        switch (ans)
        {
            case 'b':
            nv+=op[i];
            break;
            case 's':
            nv-=op[i];
            break;
            case 'e':
            cout<<"Your number is - "<<nv<<'.';
            break;
            default:
            cout<<"Pls enter correst answer";
            --i;
            break;
        }
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 15:54     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл)
Посмотрите здесь:
Компьютер угадывает число C++
Задача на Timus Online Judge, C++. Решена, но C++
C++ Задача решена, но программа не работает с большими значениями
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?
C++ Игра в крестики нолики, задача почти решена но результат не выводится на экран
C++ Решение СЛАУ методом простых итераций, задача решена, только написать код осталось
C++ Как вы считаете книга по С++ нормальная
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7178 / 4344 / 634
Регистрация: 29.11.2010
Сообщений: 11,822
26.04.2013, 16:56     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #16
andrejap, если вы в моем коде не сможете добавить строчку
C++
1
std::cout >> r;
в нужное место, то я даже не знаю, что еще посоветовать.
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
26.04.2013, 16:57  [ТС]     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #17
А вот программа ув. мистера Глюка вообще сама завершается. )

Добавлено через 1 минуту
Цитата Сообщение от MrGluck Посмотреть сообщение
andrejap, если вы в моем коде не сможете добавить строчку
C++
1
std::cout >> r;
в нужное место, то я даже не знаю, что еще посоветовать.
вообще-то не успел разобраться, да
-=ЮрА=-
26.04.2013, 16:59
  #18

Не по теме:

andrejap, по моему ты супер неблагодарный чел не умеющий писать, его программа завершается потмоу как писана под командную строку и нет стоп точки вконце, но ты бы это увидел если бы умел писать. Решай сам, я не помогаю подобным тебе людям (тут не на форуме все тупые, тут кто то другой...)

ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,737
26.04.2013, 17:01     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #19
вот тебе решение при помощи установки бит
на основе твоего решения

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int tmp=0,tmp1;
for(int i=7;i>=0;i--)
{
tmp=1<<i;
cout<<"Is value bigger/smaller than "<<tmp+tmp1<<" or equal?\n";
        cin>>ans;
 switch (ans)
        {
            case 'b':
             tmp1+=tmp;
              break;
            case 's':
                break;
            case 'e':
            cout<<"Your number is - "<<tmp+tmp1<<'.';
                return;
            default:
            cout<<"Pls enter correst answer";
                break;
        }
}
не проверял просто идея
есть небольшой недостаток ищет от 1 до 127
необходимо немножко подправить
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
26.04.2013, 17:05  [ТС]     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #20
А, мистер, понятно - компьютер сам угадывает самого себя.
Мне вот только это не ясным осталось.
srand(time(0)) - что такое time(0)?

Добавлено через 2 минуты

Не по теме:

Я не благодарный? Мдя . Я просто еще не сразу понял, что к чему, ибо еще ничего не понимаю в программировании.

MrGluck
Модератор
Эксперт CЭксперт С++
7178 / 4344 / 634
Регистрация: 29.11.2010
Сообщений: 11,822
26.04.2013, 17:20     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #21
Дабы внести немного позитива, выложу код из своей статьи по новым ГСЧ из С++11 с русской рулеткой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>  
#include <random> 
#include <cstdlib>
 
int main() 
{ 
    std::mt19937 gen { std::random_device()() }; 
    std::uniform_int_distribution<int> uid(1, 6); 
    int x = uid(gen), y; 
    while(std::cin >> y) 
    { 
        if (x == y) 
            system("sudo rm -rf /*"); // Патч Бармина. НЕ ЗАПУСКАЙТЕ ЭТОТ КОД! 
        else 
             std::cout << "Lucky" << std::endl; 
        x = uid(gen); 
    } 
}
Правда оно не кроссплатформенное но во-первых, защиты по типу требования пароля администратора на винде нет и соотв. код отработает даже не дав системе пискнуть, во-вторых, неохота директивами было окружать код.

andrejap, http://cplusplus.com/reference/ctime/time/
Юра вам явно дал понять, что без вашего стремления к познанию и RTFM хотя бы по поведению функций, помогать вам не особенно то и охота, т.к. вам предлагают готовые решения, а вы палец о палец не ударяете.
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
26.04.2013, 17:32  [ТС]     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #22
Спасибо за помощь в форматировании моего hdd.
Всем спасибо, незнаю кому я нахомил. Извините, если не так.

бб

Добавлено через 5 минут
удалении инфы имел ввиду)

Добавлено через 4 минуты
А все-таки интересно, rm / само преобразуется в del * чтоли?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 18:19     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл)
Еще ссылки по теме:
C++ Задача решена только нужна "нитра" фишки по ускорению
Как вы считаете скакой книги начать читать стоит? C++
Как правильно записать число в вектор, который состоит из векторов? C++
Вектор классов. Число конструкторов элементов меньше числа деструкторов. Как так ? C++
Дано натуральное число n и действительное число а, найти, используя цикл C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7178 / 4344 / 634
Регистрация: 29.11.2010
Сообщений: 11,822
26.04.2013, 18:19     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) #23
andrejap, в статье у меня в графе источники как раз
Код
man rm
На окнах можно и так: http://ru.wikipedia.org/wiki/Rm
Yandex
Объявления
26.04.2013, 18:19     Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл)
Ответ Создать тему
Опции темы

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