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");
}
Pergunta
Rafael J. Barros
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.
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.