Ir ao conteúdo
  • Cadastre-se
PedroVitor

RESOLVIDO Ajuda c++

Recommended Posts

Olá pessoal, estou tentando fazer um codigo usando matriz e vetor para armazenar e calcular a media de notas de 4 alunos mas os seguintes erros estão acontecendo:

 

[Error] invalid types 'double [4][4][float]' for array subscript

[Error] invalid types 'double [4][4][float]' for array subscript

[Error] invalid types 'float [4][float]' for array subscript

[Error] invalid types 'float [4][float]' for array subscript

 

o codigo:

 

#include<iostream>
#include<windows.h>
using namespace std;
 
int main(){
   float notas[4][4];
   float mediaAlunos[4];
   float a,b,soma = 0;
        for(a = 0; a < 4; a++){
            cout<<("DIGITE AS 4 NOTAS DO ALUNO ")<<a+1<<endl;
            for(b = 0; b < 4; b++){
                cout<<("Nota ")<<b+1<<(": ");
                cin>>notas[a];
                soma = soma + notas[a];
            }
        cout<<("\n");
        mediaAlunos[a] = soma / 4;
        soma = 0;
        }
        for(a = 0; a < 4;a++){
        cout<<("A MEDIA DO ALUNO ")<<a+1<<(": ")<<mediaAlunos[a]<<endl;
        }
        
    
system("pause");
    
}
 
 
Fiz com int ao invés de float e deu certo mas quero que a matriz e o vetor armazenem numeros decimais também mas sempre da esse erro, alguem poderia me ajudar e se possivel me explicar o que eu tenho de mudar, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Não entendi muito de C++, porém é bem parecido com C.

 

Primeiro vi que você colocou as variáveis a,b e soma como float. Se é uma variável de contagem acredito que ela deveria ser int.

Quando for tirar a média coloque um cast (float) antes do cálculo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudar o float das variaveis a, b e soma resolveu o problema, mas as medias não caem com valores decimais apenas com numeros inteiros, sabe como eu altero isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@PedroVitor

 

 

Apenas os subscritos precisam ser inteiros; a matriz/array continuará armazenando valores reais.

float soma = 0;int a, b;

LNW

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, valeu LNW, estou aprendendo c em video aulas e c++ na faculdade pois são bem parecidos e esse era um exercicio em c que estava teando passar para c++ e essa parte não consegui mudar, valeu ai cara!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×