初めてこちらで質問いたします、初心者です。
学校の課題で各人のテストの合計点を出し、1位から順に並べ替えるというのをやっているのですが、実行するとなぜか2行目から列がずれてしまいます。
#include<stdio.h>
#define MEMBER 5
#define SUBJECT 5
int main(void)
{
int i, j, a, sum[5] = { 0 },temp,temp2;
int point[MEMBER][SUBJECT] = { { 76, 68, 80, 78, 76 },
{ 82, 78, 81, 80, 78 },
{ 65, 70, 77, 75, 78 },
{ 90, 81, 79, 84, 82 },
{ 77, 92, 84, 79, 80 } };
for (i = 0; i < MEMBER; i++) {
for (j = 0; j < SUBJECT; j++) {
sum[i] += point[i][j];
}
}
for (i = 0; i < MEMBER - 1; i++) {
for (j = i + 1; j < MEMBER; j++) {
if (sum[i] < sum[j]) {
temp = sum[j];
sum[j] = sum[i];
sum[i] = temp;
for (a = 0; a < SUBJECT; a++) {
temp2 = point[j][a];
point[j][a] = point[i][a];
point[i][a] = temp2;
}
}
}
}
for (i = 0; i < MEMBER; i++) {
for (j = 0; j < SUBJECT; j++) {
printf("%d\t", point[i][j]);
}printf("%d\t%d\n ", sum[i], i + 1);
}
return(0);
}