Ir ao conteúdo

Posts recomendados

Postado

Pessoal, possuo uma dúvida. Segue meu código em C.

estou tentando apenas realizar o lançamento 100 vezes de uma moeda, sendo cara=0 e coroa=1. 
após gerar o random, estou tentando associar o valor à uma variável que definirá se ela é cara ou coroa, printando na tela.

porém há alguma falha que não consigo identificar muito bem, o código não realiza a contagem de quantos "1" tem, gerando sempre 0 e 1 para cara e coroa ao fim!

como são 100 lançamentos, à ideia é que à quantidade de jogadas já seja à porcentagem de vezes que "caiu", sendo printada na tela por cara e coroa.
alguém poderia me auxiliar com meu código?

 

 

 

 

#include<stdio.h>
#include<conio.h>
#include<stdlib.h> 
#include<time.h>
#include<string.h>
#include<math.h>


main ()

{
        int i, cara=0, coroa=0;
        srand(time(NULL));
        
        printf("cara=1 \n coroa=0 \n", RAND_MAX);
        
            for(i=1; i<=100; i++)
            {
                
                    printf("Jogada %d: %d\n", i , rand()&2);
                    
                    
            while(i==1)    
            {
            coroa+=i;
            cara==100-coroa;
            printf("%d%d\n", cara, coroa);
                
            }    
            }
        
    
}

  • Amei 1
Postado

Você precisa armazenar o valor na variável e depois mostrar esse valor, por exemplo:

int moeda = rand()%2;
printf("%d", moeda);

Seu código possui muitos erros de sintaxe. Estude materiais sobre o uso de estruturas condicionais.

  • Obrigado 1
Postado

@Ivander    para gerar números aleatórios você precisa usar a biblioteca  time.h  que eh o   #include <time.h>  ,  e na primeira linha da função main coloque o comando    srand(time(NULL));          por que senão ele vai gerar sempre os mesmos números , e faca como o @iHollyZinhO  disse porém o valor depois do rand precisa ser 2 assim : 

numero = rand() % 2;

Assim ele vai gerar os números zero. ou  hum .  

  • Curtir 1
Postado

REALIZEI UMA CORREÇÃO, PORÉM SEGUE NÃO REALIZANDO A CONTAGEM DE QUANTOS "1" HOUVERAM NO RANDOM.

 


#include<stdio.h>
#include<conio.h>
#include<stdlib.h> 
#include<time.h>
#include<string.h>
#include<math.h>


main ()

{
        int i, cara=0, coroa=0;
        srand(time(NULL));
        
        printf("cara=1 \n coroa=0 \n", RAND_MAX);
        
            for(i=1; i<=100; i++)
            {
                
                    printf("Jogada %d: %d\n", i , rand()&2);
                    
                    
            while(i==1)    
            {
            coroa+=i;
            cara==100-coroa;
            printf("%d%d\n", cara, coroa);
                
            }    
            }
        
    
}

  • Obrigado 1
Postado

@Ivander Olá. Daria p fazer algo assim:

 

for (i = 1; i <= 100; i++)
{
    x = rand() % 2;

    printf("Jogada %d: %d\n", i , x);

    if (x == 1)
    {
        coroa += 1;
    }
    else
    {
        cara += 1;
    }
}

printf("Cara: %d, Coroa: %d\n", cara, coroa);

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!