AAugustoMenezes

Estrutura de Dados - Vetor

Sep 12th, 2021 (edited)
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.55 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main(){
  4.    
  5.     int nAlunos, qtdProva, pesoProva;
  6.     float nota, soma, somaPeso, medAritmetica;
  7.  
  8.     printf("Digite a quantidade de alunos da turma: \n");
  9.     scanf("%d", &nAlunos);
  10.        
  11.         if(nAlunos > 99){
  12.             printf("Por favor, digite um número entre 1 e 99: \n");
  13.             scanf("%d", &nAlunos);
  14.             while(nAlunos > 99){
  15.                 printf("Por favor, digite um número entre 1 e 99: \n");
  16.                 scanf("%d", &nAlunos);
  17.                 //fiz essa estrutura para verificar o número digitado.
  18.             }
  19.         }        
  20.     //int vetAlunos[nAlunos];
  21.    
  22.     printf("Digite a quantidade de provas feitas pelos alunos: \n");
  23.     scanf("%d", &qtdProva);
  24.        
  25.         if(qtdProva > 3){
  26.             printf("Por favor, digite um número entre 1 e 3:\n ");
  27.             scanf("%d", &qtdProva);
  28.             while(qtdProva > 3){
  29.                 printf("Por favor, digite um número entre 1 e 3:\n ");
  30.                 scanf("%d",&qtdProva);
  31.                 //fiz essa estrutura para verificar o número digitado.
  32.             }
  33.         }
  34.     //int vetProva[qtdProva];
  35.    
  36.     int vetPesoProva[qtdProva];
  37.     //O vetor com os pesos da Prova terá o mesmo tamanho das quantidades de provas.
  38.     for(int i = 0; i < qtdProva; i++){
  39.         printf("Digite peso da prova %d: \n",(i+1));
  40.         scanf("%d", &pesoProva);
  41.         vetPesoProva[i] = pesoProva;        
  42.     }
  43.     //int vetPesoProva[pesoProva];
  44.    
  45.     float resultados[nAlunos][qtdProva];
  46.  
  47.     for(int i = 0; i < nAlunos; i++){
  48.         //usei a matriz para facilitar. Para cada i{alunos}, serão adicionadas j {notas}.
  49.         for(int j = 0; j < qtdProva; j++){
  50.  
  51.             printf("Digite a nota da Prova %d do Aluno %d: \n",(j+1),(i+1));
  52.             scanf("%f", &nota);
  53.            
  54.             resultados[i][j] = nota;
  55.            
  56.             if(nota > 10){
  57.                 printf("Por favor, digite um número entre 0 e 10: \n");
  58.                 scanf("%f", &nota);
  59.                
  60.                 resultados[i][j] = nota;
  61.                
  62.                 while(nota > 10){
  63.                     printf("Por favor, digite um número entre 0 e 10: \n");
  64.                     scanf("%f",&nota);
  65.                     resultados[i][j] = nota;
  66.                     //fiz essa estrutura para verificar o número digitado.
  67.                 }
  68.             }
  69.         }
  70.     }
  71.    
  72.     float medPonderada[nAlunos][qtdProva];
  73.     //vetor receberá a média ponderada da cada avaliação de cada aluno.
  74.  
  75.     for(int i = 0; i < nAlunos; i++){        
  76.         for(int j = 0; j < qtdProva; j++){
  77.             soma += (resultados[i][j] * vetPesoProva[j]);
  78.             somaPeso += vetPesoProva[j];  
  79.         }
  80.         medPonderada[i][i] = soma/somaPeso;
  81.         soma = 0;
  82.         somaPeso = 0;
  83.     }
  84.    
  85.     //Mostrar as médias ponderadas de cada aluno em cada prova.
  86.     //for(int i = 0; i < nAlunos; i++){        
  87.         for(int j = 0; j < qtdProva; j++){
  88.             printf("A média ponderada do aluno %d é igual a: %.2f\n",(j+1), medPonderada[j][j]);            
  89.         }
  90.     //}
  91.  
  92.     //Mostrar a média aritmética da classe em cada prova.
  93.     for(int j = 0; j < qtdProva; j++){        
  94.         for(int i = 0; i < nAlunos; i++){        
  95.             soma += resultados[i][j];            
  96.         }
  97.         medAritmetica = soma/nAlunos;
  98.         printf("A média Aritmética da turma na Prova %d, foi de: %.2f\n",(j+1) ,medAritmetica);
  99.         medAritmetica = 0;
  100.         soma = 0;  
  101.     }
  102.        
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment