Ir ao conteúdo
  • Cadastre-se

C Calcular a média aritimética de cada aluno


jessicardiax

Posts recomendados

Elabore um programa que solicita e armazena 3 notas de 5 alunos em uma matriz 5 x 3. Por fim, calcula e exibe a média aritmética obtida por cada aluno.

 

eu não estou conseguindo realizar essa questão, alguém pode me ajudar?

 

/*/Elabore um programa que solicita e armazena 3 notas de 5 alunos em uma matriz 5

x 3. Por fim, calcula e exibe a média aritmética obtida por cada aluno./*/

#include<stdio.h>

#include<locale.h>

  int main(){

    setlocale(LC_ALL, "portuguese");

float n1,n2,n3,i, j, m mat[3][5];



for (i=0; i<=2; i++){

    for(j=0; j<=4; i++){

        printf("informe sua %i nota",i++);

        scanf("%i", &[i][j]);

    }

}



return(0);

  }

 

Link para o comentário
Compartilhar em outros sites

    #include<stdio.h>
    #include<locale.h>
     
     
     int main( ){
         setlocale(LC_ALL, "portuguese");
         int i, j;
          float notas[3][5], somanotas = 0.0, medianota = 0.0;
         
         for (i=0; i<=4; i++){
             for (j=0; j<=2; j++){
                 printf("Digite a nota do Aluno %d - Nota %d\n", i + 1, j+1);
                 scanf("%f", &notas[i][j]);
                 somanotas= somanotas + notas[i][j];
             }
         medianota = somanotas / 3;
         printf("\n  A Média Aritimetica das notas do Aluno %d é: %.2f\n", i+1, medianota);
             printf("\n");
             somanotas=0.0; 
             medianota=0.0;
        }
        
     return 0;
}

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

@jessicardiax Seu código tem alguns erros e alertas, deve ter visto algo assim quando tentou compilar,

 

main.c:9:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’

 

main.c:17:30: warning: format ‘%i’ expects argument of type ‘int’

 

main.c:19:22: error: expected expression before ‘[’

 

Em 30/04/2023 às 14:38, jessicardiax disse:
float n1,n2,n3,i, j, m mat[3][5];

Aí o compilador apontou o erro no m que ficou na frente da matriz. 

 

Em 30/04/2023 às 14:38, jessicardiax disse:
for (i=0; i<=2; i++){

    for(j=0; j<=4; i++){

No loop mais interno devia incrementar j e não i. E normalmente nos contadores os testes são com o tamanho da matriz, p.ex,

 

for(i=0; i<3; i++){
    for(j=0; j<5; j++){

 

Não tem nada errado usar menor ou igual, mas acho mais simples e claro assim e é o mesmo valor que usou na declaração da matriz.

 

E a declaração dos contadores pode ser no próprio for como int e não float como fez junto com as outras, p.ex,

 

for(int i = 0; i < 3; i++){
    for(int j = 0; j < 5; j++){

 

Em 30/04/2023 às 14:38, jessicardiax disse:
printf("informe sua %i nota",i++);

Seu printf está incrementando a variávei i, porém o comando for já faz isso. Isso é o mesmo que incrementar de 2 em 2.

 

Em 30/04/2023 às 14:38, jessicardiax disse:
scanf("%i", &[i][j]);

Aí faltou a variável.

 

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

  • 11 meses depois...

Boa Noite!

...

 

MATRIZES

É matriz na leitura, processo e saída.

 

Sinto que existe um complô entre os editores de apontamento ou apostila das escolas  e universidades furrecas, suspeito que combinaram de neutralizar ou inutilizar as matrizes nos exercícios que são das matrizes.

 

Opinião

Alguns alunos não querem usar e ousar nas matrizes a trava, suponho que não tenham consciência ou tenham medo de errar, acabam por pensar além da conta.

 

 

 

O Problema

 

Em 30/04/2023 às 14:38, jessicardiax disse:

Elabore um programa que solicita e armazena 3 notas de 5 alunos em uma matriz 5 x 3. Por fim, calcula e exibe a média aritmética obtida por cada aluno.

 

 

Sem pensar muito, são 5 dados compostos de 3!

É o que me diz, "3 notas de 5 alunos" ou cada aluno no programa é um dado composto de 3 notas, 3 notas é (abstração) um aluno ...

 

Logo,

Em 30/04/2023 às 14:38, jessicardiax disse:
        printf("informe sua %i nota",i++);

Ai Está! 😄  minha opinião é outra!

O contratado é: Informe as notas %i Aluno: * * *

 

Por exemplo, nesse rascunho

 

C'11- gcc'11.4


#include <stdio.h>
#include <ctype.h>

typedef float  Aluno;

int main () {
  /* solicitar a turma de 5 alunos */
  Aluno turma[5] [3]= {0};
  for (size_t a= 0 ; 5>a ; ++a) {
    int r;
    printf ("%s%zu%s%c","Informe as notas ",a+ 1,"º Aluno",'\n');
    for (size_t n= 0 ; 3>n ; ++n) {
      r= getchar ();
      if (EOF==r) {
         perror ("Falha na solicitação");
         a= 5;
         break;
}
      if ('\n'==r) {
        ungetc (r,stdin);
        break;
}
      if ('-'==r || ' '==r) {
        --n;
        continue;
}
    ungetc (r,stdin);
   r=  scanf (" %f",&turma[a][n]);
   if (1!=r) {
     getchar ();
     --n;
}
}
    while (EOF!=(r= getchar()) && '\n'!=r);
    putchar ('\n');
}
  printf ("%c%s%c",'\n',"Turma       Notas",'\n');
  for (size_t a= 0 ; 5>a ; ++a) {
    printf ("%zu%s",a+ 1,"º Aluno: ");
    for (size_t n= 0 ; 3>n ; ++n) {
       printf ("%.1f ",turma[a][n]);
}
    putchar ('\n');
}
  /* ... */
}

image.png.24b5a9ca8844a770bd59d9b1d939a231.pngSendo uma solicitação e não uma leitura, os escaneamentos terminam sempre na nova linha, de modo que cada linha é um aluno (para mim).

 

A proposito, se fosse uma leitura, o programa ficaria preso até pegar  turma.

 

RASCUNHE UMA SOLUÇÃO SEM PENSAR MUITO!

 

Porque pensam 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!