Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Fazer uma logica em c++

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C# / C++ Fazer uma logica em c++

    Boa noite Sr. es

    Gostaria de obter uma ajuda

    tenho essa expressao em C++ e nao estou conseguindo resolver

    Fazer um algoritimo que coloca em ordem crescente n numeros, aonde n representa quantidade de numeros e n deve ser entrado via teclado?

    E em uma serie de 0 a 1000 numeros fazer uma logica qie adivinha o numero pensado por uma pessoa no menor espaço de tempo possivel, ou seja, tem que ser uma logica viavel. O programa deve perguntar para uma pessoa apenas pensar em um numero de 0 a 1000 e nao digitar este numero no computador. O computador que vai dar a resposta e tentar adivinhar o numero que essa pessoa pensou mostrando na tela a pessoa apenas vai dizer se este numero do computador é maior, menor ou igual ao numero pensado. O numero de tentativas tem que ser o menor possivel?

    eu tentei mais estou tendo muita dificuldades

  • Font Size
    #2
    Use busca binária, é o método mais rápido que eu conheço para fazer esse tipo de pesquisa.

    Segue o código

    #include <iostream>
    #include <cstdio>
    #include <conio.h>

    using namespace std;

    int main()
    {
    system("title Busca Binaria");
    system("color 0a");
    cout << "Pense em um numero de 0 a 1000, vou advinha-lo" << endl << endl;
    getch();
    char R;
    int inicio = 0;
    int fim = 1000;
    do{
    int meio = (inicio+fim)/2;
    cout << "Voce esta pensando no " << meio << "?" << endl;
    R = getch();
    if (R != 's' && R != 'S')
    {
    cout << "Seu numero e maior ou menor que " << meio << "? \"M\" para maior, \"m\" para menor" << endl << endl << endl;
    char M;
    do
    {
    M = getch();
    }while (M != 'm' && M != 'M');

    if (M == 'M')
    {
    inicio = meio;
    }
    else
    {
    fim = meio;
    }

    //printf(" INICIO = %d \n MEIO = %d \n FIM = %d", inicio, meio, fim);
    }
    }while(R != 's' && R != 'S');
    cout << "ACERTEI";
    getch();
    return 0;
    }
    Last edited by Lizard; 15-11-2013, 14:14. Motivo: Fiz o programa depois e quis postar kkk
    sigpic

    Decidi deixar de ser usuário e virar desenvolvedor

    Comment

    X
    Working...
    X