Ir ao conteúdo
  • Cadastre-se
BRDoug

Problemas com Vetor

Recommended Posts

Olá Boa Tarde

 

Utilizo o CodeBlocks para programar, e nele tenho um pequeno trecho de código

    i = 0;    conter = 0;     do    {         i++;        if(vetor[i] % 5 == 0);        {            vetorm[conter++] = vetor[i];            printf(" %d ", vetorm[i]);        }    }while(i <= 19);
 
O software realiza a checagem para ver se são múltiplos de 5 (se não errei a fórmula), só que aparece o seguinte problema:
 
2cnw7iv.png
 
Ps: Acontece algo semelhante com os outros

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@BRDoug

 

voce colocou ponto e virgula ( ; ) em ...

if(vetor[i] % 5 == 0);

Nao precisa do vetorm[]... Segue o código simplificado...

//...    //ex vetor[20]    int vetor[20];        i = 0;    do    {        if(vetor[i] % 5 == 0)        {            printf(" %d ", vetor[i]);        }                    i++; // o i++ deve ficar depois da condicao, para ler o vetor[0].    }while(i < 20);//...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem observado esse erro, só que o problema ainda persiste mesmo depois de ser corrigido, a diferença foi só que reduziu aqueles numeros

 

@Edit

 

Opa fiz aquela simplificada sua e resolveu

 

a problema era esse:

 

Ps: Só não entendo por que não funcionou, estava esperando o vetorm[] copiar os valores que fossem multiplos, não sei se tem haver com a dimensão dele que é a mesma do vetor[]

vetorm[conter++] = vetor[i];

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@BRDoug

 

Talvez tenha algo errado no seu código...

Olhe esse exemplo...

#include <stdio.h>#include <stdlib.h>#include <time.h>//funcao retorna um numero n;int random(int n){    return rand() % n;}int main(){    int i,vetor[20];    //seed    srand((unsigned)time(NULL));    //adiciona aleatoriamente no vetor[], numeros de 0 a 50    for (i=0; i<20; i++)    {        vetor[i] = random(50);    }    printf("Numeros do vetor: \n");    //imprime todos os numeros do vetor[]    for (i=0; i<20; i++)    {        printf("%d ", vetor[i]);    }    printf("\n\nMultiplos de 5 sao: \n");    //funcao para, imprimir os multiplos de 5    i = 0;    do    {        if(vetor[i] % 5 == 0)        {            printf("%d ", vetor[i]);        }                    i++;    }while(i < 20);   return 0;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entendi o seu código, é que eu espera que um novo vetor recebe os múltiplos e foi ai que deu a "treta" no código

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@BRDoug

 

Com o vetorm[], poderia ser assim...

    i = 0;    do    {                 if(vetor[i] % 5 == 0)        {            vetorm[i] = vetor[i];            printf("%d ", vetorm[i]);        }        i++;    }while(i <= 19);

Mas... já que voce quer só imprimir na tela os múltiplos de 5... Não tem a necessidade de "guardar" esses múltiplos em um vetor.. A não ser

que voce faça algum calculo com esses múltiplos de 5 "guardados".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×