Ir ao conteúdo
  • Cadastre-se

C vetor com 20 números e media


jorge.b

Posts recomendados

Olá a todos, estou com duvidas num programa que tenho que criar um vetor com 20 numeros e imprimir os que sao maiores que a media.

Como esta é a primeira vez que estou a tentar fazer um exercício com vetores estou um pouco à toa.

E esta a dar um erro e um erro na linha 12 "(invalid operands to binary / (have 'int' and 'int')" e não o estou a conseguir resolver.

Obrigado pela ajuda desde já

o código que fiz é o seguinte:

#include <stdio.h>
    int main(){
        int n[19];
        int media=0, soma=0, i=0;
        do{
            printf("Insira um numero :");
            scanf("%d", n);
            soma== soma + n;
            i=i+1;
        }
        while(i<20);
        media= (soma/n);
        printf("A media é %f .", media);
        return 0;
    }

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Utilize o botão code <> para postar no fórum!

 

9 minutos atrás, jorge.b disse:

E esta a dar um erro e um erro na linha 12 "(invalid operands to binary / (have 'int' and 'int')" e não o estou a conseguir resolver.

O compilador está reclamando que você está usando o operador de comparação "==" ao invés do de atribuição "="

Recomendo dar nomes mais significativos para as variáveis. e pegar a linha inteira com fgets e processar com o sscanf

    char buffer[256];
    int numero = 0;
    fgets(buffer, 256, stdin);
    sscanf(buffer, "%i", &numero);

 

Você também não colocou o índice dos vetores

19 minutos atrás, jorge.b disse:

soma== soma + n;

 

20 minutos atrás, jorge.b disse:

media= (soma/n);

Era pra ser n[i] no primeiro e você deveria fazer outro loop no segundo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Boa Noite

 

Já é um Padrão do Fórum

Com certeza, exercícios de nível iniciante sobre vetores (de n-milhares) que insinua na resposta a inutilidade dos vetores num exercício dos vetores.

 

Em 16/10/2022 às 19:39, jorge.b disse:

o código que fiz é o seguinte:

#include <stdio.h>

int main() {
  int n[19];
  int media = 0, soma = 0, i = 0;
  do {
    printf("Insira um numero :");
    scanf("%d", n);
    soma == soma + n;
    i = i + 1;
  }
  while (i < 20);
  media = (soma / n);
  printf("A media é %f .", media);
  return 0;
}

 

c'11 - gcc'11.4

a.c: Na função main’:
 a.c:9:10: erro: comparação entre ponteiro e inteiro
     9 |  soma == soma + n;
       |       ^~
 a.c:9:10: erro: instrução sem efeito [-Werror=unused-value]
     9 |  soma == soma + n;
       |  ~~~~~^~~~~~~~~~~
 a.c:13:17: erro: operandos inválidos para binário / (possuem int e int *’)
    13 |  media = (soma / n);
       |                ^
       |                |
       |                int *
 a.c:14:22: erro: formato ‘%f espera argumento do tipo double’, mas argumento 2 tem tipo int [-Werror=format=]
    14 |  printf("A media é %f.", media);
       |                    ~^    ~~~~~
       |                     |    |
       |                     |    int
       |                     double
       |                    %d
 cc1: todos os avisos sendo tratados como erros

Então moço!?

 

A última falha é atentar contra a vida do vetor no exame de vetor!

Em fim, com algumas correções, seu programinha até compila, assim:


#include <stdio.h>

int main ()
{
  int n= 20;
  int termo[n];
  int i= 0;
/* isto solicita os termos */
  do
    {
    printf ("Insira um termo: ");
    scanf ("%d",&termo[i]);
    i= i + 1;
    }
  while (i < n);
/* isto faz um somatório */
  int soma= 0;
  i= 0;
  do
    {
    soma = soma + termo[i];
    i= i + 1;
    }
  while (i < n);
/* isto faz uma média */
  float media= (float)soma / n;
  printf("A media é %f\n",media);
  return 0;
} /* isto retorna ao sistema operacional rsrsrs :D */

 

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!