David Mendonça Postado Março 20, 2011 Denunciar Share Postado Março 20, 2011 #include <iostream> #include <cstdlib> #include <cmath> #include <conio.h> using namespace std; //Calcula a media Aritmetica float CalculoMedia (float n, float soma, float media) { float nota[20] = {3.5, 8.9, 9.0, 9.56, 8.78, 7.45, 5.9, 9.9, 9.98, 6.3, 4.3, 2.3, 5.0, 8.2, 6.50, 7.0, 6.98, 8.3, 9.1, 2.3}; n = 20.0; soma = 0.0; for (int i=0; i<20; i++) { soma = soma + nota[i]; } media = soma/n; return media; } // Inicia a funcao de Ordenacao das notas int main() { float x; int i; bool parar = false; //x -> variavel auxiliar para troca de valores float average; float nota[20] = {3.5, 8.9, 9.0, 9.56, 8.78, 7.45, 5.9, 9.9, 9.98, 6.3, 4.3, 2.3, 5.0, 8.2, 6.50, 7.0, 6.98, 8.3, 9.1, 2.3}; int n = 20; float media; while (parar == false) { parar = true; for (i=0; i<19; i++) { if (nota[i] > nota[i+1]) { parar = false; x = nota[i]; nota[i] = nota[i+1]; nota[i+1] = x; } } } // Exibicao das notas cout << "Notas ordenadas \n"; for (i=0; i<20; i++) { cout << "\n "<< nota[i]; } cout << "\n \n Nota mais alta: " << nota[19]; cout << "\n Menor nota: " << nota[0]; average = CalculoMedia(nota, n); cout<< "Media das notas:" << average <<"\n"; getch(); } Estou tentando chamar a funcao "CalculoMedia", para mostrar o resultado na funçao principal. A parte de ordenaçao dos valores deu certo. So preciso dessa parte da media. Eu não entendi a msg de erro na linha 63 que foi retornada, que é essa aqui: 63 C:\Users\David Renan\Documents\Faculdade 2011\TP\Exercicios\Media_DesvioPadrao 3.cpp cannot convert `float*' to `float' for argument `1' to `float CalculoMedia(float, float, float)' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CPP Postado Março 20, 2011 Denunciar Share Postado Março 20, 2011 Olá DavidVocê ordena as notas na funcao main mas tem a matriz desordenada na funcao calculomedia.O ideal é passar a matriz ordenada para a funcao.Se tiver duvidas avisa ai.Abs#include <iostream> #include <cstdlib> #include <cmath> #include <conio.h> using namespace std; //Calcula a media Aritmetica float CalculoMedia (float nota[20], int n) { float soma = 0.0; for (int i=0; i<20; i++) { soma = soma + nota[i]; } return soma / n; } // Inicia a funcao de Ordenacao das notas int main() { float x; int i; bool parar = false; //x -> variavel auxiliar para troca de valores float average; float nota[20] = {3.5, 8.9, 9.0, 9.56, 8.78, 7.45, 5.9, 9.9, 9.98, 6.3, 4.3, 2.3, 5.0, 8.2, 6.50, 7.0, 6.98, 8.3, 9.1, 2.3}; int n = 20; float media; while (parar == false) { parar = true; for (i=0; i<19; i++) { if (nota[i] > nota[i+1]) { parar = false; x = nota[i]; nota[i] = nota[i+1]; nota[i+1] = x; } } } // Exibicao das notas cout << "Notas ordenadas \n"; for (i=0; i<20; i++) { cout << "\n "<< nota[i]; } cout << "\n\n Maior Nota: " << nota[19] << "\n"; cout << " Menor nota: " << nota[0] << "\n"; average = CalculoMedia(nota, n); cout<< " Media das notas:" << average <<"\n"; getch(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 David Mendonça Postado Março 21, 2011 Autor Denunciar Share Postado Março 21, 2011 Ok.Consegui. Brigado =D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
David Mendonça
Estou tentando chamar a funcao "CalculoMedia", para mostrar o resultado na funçao principal.
A parte de ordenaçao dos valores deu certo.
So preciso dessa parte da media.
Eu não entendi a msg de erro na linha 63 que foi retornada, que é essa aqui:
63 C:\Users\David Renan\Documents\Faculdade 2011\TP\Exercicios\Media_DesvioPadrao 3.cpp cannot convert `float*' to `float' for argument `1' to `float CalculoMedia(float, float, float)'
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.