Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kant

[Resolvido] Programa para verificar os numeros pares e impares

Recommended Posts

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

int main(int argc, char *argv[])
{
 int vet1[6],cont,cont1,par,qtdp,impar,qtdi;
 printf("Digite cinco numeros:\n");
 for(cont=0;cont<=5;cont++) 
{//for
 scanf("%d",&vet1[cont]);
}//fechou o for
 for(cont1=0;cont1<=5;cont1++){//for
 cont1=0;
 if(vet1[cont1]%2==0){//se
 par=vet1[cont1];
 qtdp=cont1++;
}
 else{
 impar=vet1[cont];
 qtdi=cont1++;
}
}
 printf("Os numeros pares são:");
 for(cont=0;cont<=qtdp;cont++){
 printf("%d",par);
}
 printf("Os numeros impares são:");
 for(cont=0;cont<=qtdi;cont++){
 printf("%d",impar);
}
 printf("\n");
 
 system("PAUSE");	
 return 0;
}

Roda, mas não mostra os numeros pares nem impares... queria uma ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include<stdio.h>

#include<stdlib.h>

main()

{

int nums[4], ct, par[4], impar[4];

 

printf("Digite cinco numeros: ");

scanf("%d", nums);

ct=0;

while(ct<=4){

if(nums[ct]%2==0){

par[ct]=nums[ct];

else{

impar[ct]=nums[ct];

}

for(ct=0; ct<=4; ct++){

printf("Os numeros Pares sao: %d\n", par[ct]);

printf("\nOs numeros Impares sao: %d\n", impar[ct]);

}

system("pause");

return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu laço for está errado, pois o cont1 recebe um numero, depois recebe 0

    for(cont1=0;cont1<=5;cont1++)
    {//for
        cont1=0;

            if(vet1[cont1]%2==0)
            {//se
                par=vet1[cont1];
                qtdp=cont1++;
            }

            else
            {
                impar=vet1[cont];
                qtdi=cont1++;
            }
    }

Suas variáveis par e impar deveriam ser um vetor de inteiro, não uma variável simples.

qntp e qnti também estão errados, pois voce colocou isso: qtdp = cont1++, qtdi = cont1++, ou seja, vai adicionar 1 ao cont1 e depois adicionar.

Se você tenta mostrar uma variavel simples num for, sempre vai mostrar o mesmo valor.

Entre outros erros.

Código certo:

 

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

int main(int argc, char *argv[])
{
    int vet1[5], cont, cont1, par[5], qtdp=0, impar[5], qtdi=0, i=0, p=0, temp=0;

    for(int y=0; y<5; y++)
    {
        vet1[y] = 0;
        par[y] = 0;
        impar[y] = 0;
    }

    printf("Digite cinco numeros:\n");

    for(cont=0; cont<5; cont++)
    {//for
        scanf("%d", &vet1[cont]);
    }//fechou o for

    for(cont1=0; cont1<5; cont1++)
    {//for
        temp = vet1[cont1];

        if(temp%2 == 0)
        {//se
            par[p]=temp;
            qtdp++;
            p++;
        }

        else if(temp%2 != 0)
        {
            impar[i]=temp;
            qtdi++;
            i++;
        }
    }

    printf("Os numeros pares sao\n");

    for(cont=0; cont<qtdp; cont++)
    {
        printf("%d\n", par[cont]);
    }

    printf("Os numeros impares sao\n");

    for(cont=0; cont<qtdi; cont++)
    {
        printf("%d\n",impar[cont]);
    }

    printf("\n");

    system("PAUSE");
    return(0);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda, eu entendi agora os erros. Descobri que o segredo do vetor é na verdade saber lidar com os contadores. Sou iniciante em linguagem c, que não é uma linguagem nada fácil na minha opinião.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É complicada mesmo Kant, principalmente pra projetos grandes, mas continua estudando, logo logo você domina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.