Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal,
estou tentando ordenar uma matriz de duas dimensoes pelo metodo bolha, soh que tah dando um erro que não sei como resolver, alguem pode me dar uma ajuda
main(){
int tam = 3;
float temp[7],alunos[tam][7];
printf("Programa para calcular medias de alunos\a\n\n\n");
for (int i=0;i<tam;i++){
printf ("Informe o numero da matricula: ");
scanf ("%f",&alunos[i][0]);
printf ("Informe a primeira nota: ");
scanf ("%f",&alunos[i][1]);
printf ("Informe a segunda nota: ");
scanf ("%f",&alunos[i][2]);
printf ("Informe a terceira nota: ");
scanf ("%f",&alunos[i][3]);
printf ("Informe a quarta nota: ");
scanf ("%f",&alunos[i][4]);
printf ("Informe a sexta nota: ");
scanf ("%f",&alunos[i][5]);
// nesta etapa esta sendo realizado o calculo da media
alunos[i][6] = 0;
for (int x = 1;x < 6; x++){
alunos[i][6] += alunos[i][x];
}
alunos[i][6] = alunos[i][6]/5;
//fim do metodo de calculo da media
printf("\n\n");
}
for(int a = 1; a < tam; ++a)
for(int b = tam-1; b >= a; --b) {
if(alunos[ b - 1][6] > alunos[ b ][6]) {
temp = alunos[b - 1]; // AQUI ACONTECE O ERRO!
alunos[ b - 1] = alunos[ b ];
alunos[ b ] = temp;
}
}
printf ("Dados ordenados pela media\n\n\n");
for(int i = 0; i < tam; i++){
printf ("%f \t\t %f \t\t %f \t\t %f \t\t %f \t\t %.2f \t\t\n", alunos[i][0],alunos[i][1],alunos[i][2],alunos[i][3],alunos[i][4],alunos[i][5],alunos[i][6]);
}//fim do metodo de exibição
getchar();
getchar();
}Carregando comentários...