Ir ao conteúdo

C Não consigo imprimir os valores acima da média dos vetores.


Ir à solução Resolvido por kgin,

Posts recomendados

Postado

 

O código ocorre bem até a última parte. Ele roda as vezes, mas as vezes ele pega uns valores de memória ou nem mesmo imprime.. e isso varia de acordo com os numeros inseridos, eu já tentei algumas coisas, mas nenhuma resolveu.

```

<#include <stdio.h>

int main(){

    float valor1, valor2, mult, media, somatorio=0;
    int num[10], i=0, impar=0, acima = 0;
  

/*Solicitar, ao usuário, a digitação de números inteiros e ir armazenando, no vetor numeros[],  apenas os números pares digitados até que o vetor esteja todo preenchido.*/

for(int i = 0; i>=0 && i<=9;i++){
   printf("\nDigite um numero: ");
    scanf("%i", &num[i]);   
  if(num[i]%2==0){
        somatorio+=num[i];
    }if(num[i]%2==1){
        impar++;
          i = i-1;
      }
}
media = somatorio/10;
/*Exibir, na tela, todo o conteúdo do vetor numeros[].*/

printf("\n%i = Vetor 1", num[0]);
  printf("\n%i = Vetor 2", num[1]);
    printf("\n%i = Vetor 3", num[2]);
      printf("\n%i = Vetor 4", num[3]);
        printf("\n%i = Vetor 5", num[4]);
          printf("\n%i = Vetor 6", num[5]);
        printf("\n%i = Vetor 7", num[6]);
      printf("\n%i = Vetor 8", num[7]);
    printf("\n%i = Vetor 9", num[8]);
  printf("\n%i = Vetor 10", num[9]);

/*Exibir na tela a média dos vetores numeros[10] e também os valores acima da média.*/
  
    printf("\n\nA media dos vetores e de: %0.2f", somatorio/10);

  printf("\nOs numeros maiores que a media sao: ");
     for(;i<num[i]; i++)
   {
     if(num[i]>media) printf("%d\t",num[i]);
  }
}

 

  • Solução
Postado

corrigido

#include <stdio.h>

#define TAMANHO_VETOR 10
#define T_BUFFER 256

int main(void)
{
    char buffer[T_BUFFER] = {'\0'};
    float valor1, valor2, mult, media, somatorio = 0;
    int num[TAMANHO_VETOR] = {0}, contador = 0, impar = 0, acima = 0;


    /*Solicitar, ao usuário, a digitação de números inteiros e ir armazenando, no vetor numeros[],  apenas os números pares digitados até que o vetor esteja todo preenchido.*/

    for (contador = 0; contador < TAMANHO_VETOR; contador++)
    {
        printf("\nDigite um numero: ");
        fgets(buffer, T_BUFFER, stdin);         /* Pega a linha da entrada padrão */
        sscanf(buffer, "%i", &num[contador]);          /* Processa a linha e retira um inteiro */
        if(num[contador] % 2 == 0)
	    {
	        somatorio += num[contador];
	    }
        if(num[contador] % 2 == 1)
	    {
	        impar++;
	    }
    }
    media = somatorio / 10;
    /*Exibir, na tela, todo o conteúdo do vetor numeros[].*/

    printf("\n%i = Vetor 1", num[0]);
    printf("\n%i = Vetor 2", num[1]);
    printf("\n%i = Vetor 3", num[2]);
    printf("\n%i = Vetor 4", num[3]);
    printf("\n%i = Vetor 5", num[4]);
    printf("\n%i = Vetor 6", num[5]);
    printf("\n%i = Vetor 7", num[6]);
    printf("\n%i = Vetor 8", num[7]);
    printf("\n%i = Vetor 9", num[8]);
    printf("\n%i = Vetor 10", num[9]);

	/*Exibir na tela a média dos vetores numeros[10] e também os valores acima da média.*/

    printf("\n\nA media dos vetores e de: %0.2f", somatorio / 10);

    printf("\nOs numeros maiores que a media sao: ");
    for (contador = 0; contador < TAMANHO_VETOR; contador++)
    {
        if (num[contador] > media)
	        printf("%d\t", num[contador]);
    }
    return(0);
}

 

  • Obrigado 1

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!