Ir para conteúdo
Fórum Script Brasil
  • 0

Código em loop


Rafael J. Barros

Pergunta

Prezados,

Boa noite, estou precisando de ajuda no meu código, preciso que ele carregue o vetor fila para com número aleatório de 0 a 5 (tenho que ter no máximo 4 números de cada dentro do vetor), fiz o código abaixo, porém quando rodo o programa ele entra em loop infinito, não está saindo do do while e nem está mais entrando no for.

#include <stdio.h>
#include <stdlib.h>

#define Pedras 5

main ()
{
    int tam=Pedras*4, fila [tam], p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, alea, i, c1=0, c2=0, c3=0, c4=0, c5=0;
    srand(time(NULL));
    for(i=0;i<20;i++)
    {
        fila[i]=-1;
        //printf ("%d", fila[i]);
    }
    p1=0;
    p2=0;
    do
    {
        p1++;
        for(i=0;i<=20;i++)
        {
            alea=rand()%Pedras+1;
            //printf ("%d PPP %d\n", i, alea);
            printf ("fila[%d] = %d\n", i, alea);
            if(fila[i]==-1)
            {
                if (c1<=4)
                    //(alea==1)
                {
                    if (alea==1)
                    //(c1<=4)
                    {
                        c1++;
                        fila[i]=alea;
                    }
                }
                if (c2<=4)
                //(alea==2)
                {
                    if (alea==2)
                    //(c2<=4)
                    {
                        c2++;
                        fila[i]=alea;
                    }
                }
                if (c3<=4)
                //(alea==3)
                {
                    if (alea==3)
                    //(c3<=4)
                    {
                        c3++;
                        fila[i]=alea;
                    }
                }
                if (c4<=4)
                //(alea==4)
                {
                    if (alea==4)
                    //(c4<=4)
                    {
                        c4++;
                        fila[i]=alea;
                    }
                }
                if (c5<=4)
                //(alea==5)
                {
                    if (alea==5)
                    //(c5<=4)
                    {
                        c5++;
                        fila[i]=alea;
                    }
                }
            }
        }
        if (c1>4 && c2>4 && c3>4 && c4>4 && c5>4)
        {
            p2=1;
        }
        printf ("QTD DO C1: %d\n", c1);
        printf ("QTD DO C2: %d\n", c2);
        printf ("QTD DO C3: %d\n", c3);
        printf ("QTD DO C4: %d\n", c4);
        printf ("QTD DO C5: %d\n", c5);
        printf ("QTD DO DO: %d\n", p1);
        printf ("P2 = %d\n", p2);
    }
    while (p2!=1);
    for(i=0;i<20;i++)
    {
        printf ("%d = %d\n", i, fila[i]);
    }
    system ("pause");
}

Preciso de ajuda urgente.

Abraços,

Ancião

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...