Boa tarde amigos! O professor passou uma questão que não consigo resolver, que trata de matrizes. Pede para modular uma matriz das notas dos alunos na mesma disciplina ao longo de 11 anos. Turmas com no máximo 50 alunos e pede que as notas tenha 1º e 2º unidade e Final se for necessário.
Se alguém conseguir me dar uma luz ficarei muito agradecido.
1 - Você não sebe usar as estruturas de repetição for, do-while e while?
2 - Você não sabe ‘trabalhar’ com arrays (vetores e matrizes)?
3 - Notas é uma classe? Por quê?
F
flaviomfarias
Vamos lá… Estou no inicio do curso, mas consigo fazer exercícios de Repetição e também com matrizes. O que está complicando é o fato de ter que preencher uma matriz com no mínimo 20 alunos (Linhas) e nos últimos 11 anos (Colunas) com as notas desses alunos em todos os 11 anos, com apenas uma disciplina, mas colocando as notas da 1º e 2º unidade e mais a final, se ouver. Se fosse apenas uma nota seria mais simples, o problema é preencher a matriz com todas esses notas.
I
Iohannes
Uma forma de fazer…
importjava.util.Scanner;publicclassTeste{privatestaticfinalshortNUMERO_NOTAS=3;privatestaticfinalshortNUMERO_ANOS=11;privatestaticString[]alunos;privatestaticfloat[]notas;publicstaticvoidmain(String[]args){shortlotacao;Scannerleitor=newScanner(System.in);System.out.print("\nInforme a lotação da turma: ");lotacao=leitor.nextShort();leitor.nextLine();preencherMatriz(lotacao,leitor);leitor.close();exibirHistorico(lotacao);}publicstaticvoidpreencherMatriz(shorttamanho,Scannerleitor){charmarcador;shortcontador=1;shortcomeco=0;intnumeroDeNotas=tamanho*NUMERO_NOTAS*NUMERO_ANOS;alunos=newString[tamanho];notas=newfloat[numeroDeNotas];for(shorti=0;i<tamanho;i++){shortano=1;System.out.print("Aluno: ");alunos[i]=leitor.nextLine();for(intj=comeco;j<numeroDeNotas;j++){comeco++;if(contador%3==0){ano++;contador=0;System.out.print("\nTem nota final?[s/n]\nOpção escolhida: ");marcador=leitor.next().charAt(0);leitor.nextLine();if(marcador=='S'||marcador=='s'){System.out.print("Nota final: ");notas[j]=leitor.nextFloat();leitor.nextLine();System.out.println("");}elsenotas[j]=-1;}else{if(contador==1)System.out.println("\n"+ano+"º ano");System.out.print("Nota "+contador+"ª Unidade: ");notas[j]=leitor.nextFloat();}contador++;if(comeco==numeroDeNotas/tamanho)break;}}}publicstaticvoidexibirHistorico(shorttamanho){intnumeroDeNotas=tamanho*NUMERO_NOTAS*NUMERO_ANOS;shortcontador=1;shortcomeco=0;for(shorti=0;i<tamanho;i++){shortano=1;System.out.println("\nAluno: "+alunos[i]);for(intj=comeco;j<numeroDeNotas;j++){comeco++;if(contador%3==0){ano++;contador=1;if(notas[j]!=-1)System.out.println("Final: "+notas[j]);}else{if(contador==1)System.out.println("\n"+ano+"º ano");System.out.println((contador++)+"ª unidade: "+notas[j]);}if(comeco==numeroDeNotas/tamanho)break;}}}}