Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ryookno

armazenamento de vetores

Recommended Posts

Boa tarde.

 

Peço ajuda de vocês para que verifiquem um erro no meu código, pois não consigo achá-lo.

Quando executei, o programa me retornou médias com valor errados..

 

É um algoritmo para leitura de nota de prova (vetor NOTAPROV) e trabalho (vetor NOTATRAB) de dez alunos e o "peso" da prova e trabalho.

A lógica consiste em calcular a média de cada aluno e armazená-lo em um terceiro vetor, o MÉDIA[10].

 

 

 

 

 

#include <stdio.h>

#include <stdlib.h>

 

int main()

 

{

int N;

float NOTAPROV[10];

float NOTATRAB[10];

int PESOPROV;

int PESOTRAB;

float MEDIA[10];

float MEDIAMAIOR;

float MEDIAMENOR;

int CONTADOR = 0;

 

printf("Insira a nota da prova e de trabalho de cada aluno:\n\n");

for (N=1; N<=10; N++)

{

printf("Aluno %d\n Nota de prova", N);

scanf("%f", &NOTAPROV[N]);

printf("Nota de trabalho");

scanf("%f", &NOTATRAB[N]);

}

 

printf("Insira o 'peso' da prova e do trabalho:");

scanf("%f", &PESOPROV);

scanf("%f", &PESOTRAB);

 

for (N=1; N<=10; N++)

{

MEDIA[N] = ((PESOPROV * NOTAPROV[N]) + (PESOTRAB * NOTATRAB[N]))/(PESOPROV + PESOTRAB);

}

 

MEDIAMAIOR = MEDIA[1];

MEDIAMENOR = MEDIA[1];

for (N=1; N<=10; N++)

{

if (MEDIA[N] > MEDIAMAIOR)

{

MEDIAMAIOR = MEDIA[N];

}

if (MEDIA[N] < MEDIAMENOR)

{

MEDIAMENOR = MEDIA[N];

}

if (MEDIA[N] >= 5)

{

CONTADOR++;

}

}

 

for (N=1; N<=10; N++)

{

printf("Aluno %d \n", N);

printf("Nota de prova = %f \n", NOTAPROV[N]);

printf("Nota de trabalho = %f \n", NOTATRAB[N]);

printf("Media = %f\n", MEDIA[N]);

}

printf("A maior media foi %f \n", MEDIAMAIOR);

printf("A menor media foi %f \n", MEDIAMENOR);

printf("%d alunos tiveram media igual ou superior a 5.\n\n", CONTADOR);

 

system("PAUSE");

}

 

 

 

Grato.

 

 

-----

 

 

Ough, percebi o erro.

Utilizei o comando de leitura scanf("%f") para as variáveis PESOPROV e PESOTRAB (que são de valores inteiros) em vez de scanf("%d").

 

HAHHAHAH sou novato em programação, ainda. :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o problema já foi resolvido, só uma dica:

Você pode declarar variáveis do mesmo tipo na mesma linha.

 

int N, PESOPROV, PESOTRAB, CONTADOR = 0;
float NOTAPROV[10], NOTATRAB[10], MEDIA[10], MEDIAMAIOR, MEDIAMENOR;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.