Ir ao conteúdo

Posts recomendados

Postado

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
Postado

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
  • 1 ano depois...
Postado

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 */

 

 

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!