Estou tentando fazer um programa em C que leia 25 números para o vetor a[25], mas estes números precisam ser diferentes de zero e pares, sem repetir, depois criar um outro vetor b[75], onde este será preenchido colocando-se primeiro o valor correspondente de a, nas duas posições a frente os dois números primos que somados são iguais ao número de a, estou com problema na parte do vetor b, gostaria da ajuda de alguém que pudesse analisar o código e me explicar o porque dos erros...
OBS: Meu compilador é o codeblocks...
#include <stdio.h>
#include <time.h>
#define j 25
#define g 75
preencha(int[], int);//protótipos
mostravetor(int[], int);
int primo(int);
main()
{
int i,a[25],b[75],s,x,primo1,primo2,v,p,n,u;
srand(time(NULL));
preencha(a,j);
for(i=0;i<25;i++) //preenche o b com valores retornados do vetor a e da função que verifica se um número é primo ou não.
{
v=1;
for(n=1;n<=a[i];n++)
{
if(primo(n))
if(v==1)
{
primo1=n;
primo2=n;
v=0;
}
if(v==0)
primo2=n;
s=(primo1+primo2);
if(s==a[i])
{
b[i]=a[i];
printf(" (%d)-%d-%d ",i,a[i],b[i]);
b[(i+1)]=primo1;
b[(i+2)]=primo2;
}
}
}
mostravetor( a, j);//mostra os vetores
printf("\n\n\n");
mostravetor(b, g);
}
int s,x,primo1,primo2,v,p,n,d,u;
preencha(int l[],int b)//preenche o vetor a.
{
int k,i;
i=0;
do{
printf("digite um numero para a posicao %d: ",i+1);
scanf("%d",&x);
if((x!=0)&&(x%2==0)&&(x!=2)){
l[i]=x;
i=1;
}
}while(i!=1);
do{
u=0;
k=0;
x=(rand()/100);
if((x!=0)&&(x%2==0)&&(x!=2))
{
for(u = 0; u < i; u++)
if (l[u]==x)
k=1;
if(k==0)
{
l[i]=x;
i++;
}
}
}while(i<b);
}
mostravetor(int x[],int ba){//mostra os vetores
int i;
for(i=0;i<ba;i++)
printf(" %d-%d ",i,x[i]);
}
int primo(int n)//verifica se um número é primo ou não
{
int x, p;
p = 0;
x = n;
while (x >= 1) {
if (n % x == 0)
p++;
x--;
}
if (p != 2)
return 1; //VERDADEIRO ou TRUE
else
return 0; //FALSO ou FALSE
}
Pergunta
Tradeli
Estou tentando fazer um programa em C que leia 25 números para o vetor a[25], mas estes números precisam ser diferentes de zero e pares, sem repetir, depois criar um outro vetor b[75], onde este será preenchido colocando-se primeiro o valor correspondente de a, nas duas posições a frente os dois números primos que somados são iguais ao número de a, estou com problema na parte do vetor b, gostaria da ajuda de alguém que pudesse analisar o código e me explicar o porque dos erros...
OBS: Meu compilador é o codeblocks...
Editado por TradeliLink para o comentário
Compartilhar em outros sites
0 respostass 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.