Ir ao conteúdo
  • Cadastre-se

C++ Exercicio sobre vetores resultado não sai como esperado


Posts recomendados

#include <stdio.h>
  main(){
  int vetor[20];
  int i;
  
  while(i=0;i<=20;i+=1){
                    printf("informe o número para vetor[%f]:",vetor);
                    scanf("%f",vetor[i]);
                    }
                    }

acabei de produzir esse código

mais ele me apresenta alguns erros que não conseguir identificar será que alguém poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

São muitos erros. Talvez deva partir de exemplos e estudar um pouco mais

 

main() é uma função retorna um int e você precisa declarar como tal na linha 2

    int main()

já serve
 

o comando que usa esse formato
 

    while (i = 0; i <= 20; i += 1) {

 é for() e não while(). while em C aceita uma condição apenas
 

Usando for você declara a variável de controle no loop, quase sempre.

    for (int i = 0; i <= 20; i += 1)


Vetor só tem 20 posições. de 0 a 20 são 21 e está errado.

 

        printf("informe o número para vetor[%f]:", vetor);


Não era isso que você queria. Você queria dizer apenas 'i' a posição onde vai o valor a ser lido.
 

        printf("informe o numero para vetor[%d]:", i);

 

    scanf("%f", vetor[i]);


Você quer ler um inteiro. %f é para números com decimais e usaria se o vetor fosse
 

    float vetor[20]


Use

    int n =  scanf("%d", vetor+i );


scanf() é uma função e retorna o número de valores lidos. E espera um endereco, Então leia e depois mostre, 'so se leu algum.

    if ( n > 0 ) printf("vetor[%d] = %d\n", i, vetor[i]);

Se acostume a mostrar o que leu enquanto está aprendendo. Vai se sentir mais seguro.
 

 

 

Link para o comentário
Compartilhar em outros sites

@isaias lucas azevedo Olhe a diferença entre o loop while e o for:

while(condição) {
   //Loop while
}

for ( inicialização; condição; incremento ) {
   //Loop for
}

Então você usou um loop for, mas escreveu while no lugar de for.

 

Outros problemas:

Não se esqueça que para ler/imprimir variáveis do tipo int, você não pode usar %f, pois isso é usado para variáveis do tipo ponto flutuante. Use %d.

Se quer imprimir o índice do vetor, então imprima o que no caso é sua variável "i". Lembre-se que o primeiro índice de um array é o 0, então se seu array tem 20 elementos, ele vai de 0 a 19.

Por fim, se quer ler elemento por elemento do vetor, lembre-se de usar & na função scanf().

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!