Ordenar Matriz Bidimensional pelo metodo bolha
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
include <stdio.h>
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();
}O erro acontece na hora de trocar a matriz com a variavel temp
Discussão (3)
Carregando comentários...