C言語 C++ でファイル操作を行い多次元配列を並び替えたいのですが下記ではコンパイルは通りますが上手くいきません。
どのように改善すれば良いのかを教えて頂けると助かります。
7行4列の配列を左上が一番小さな数字が来て右下が一番大きな数字にしたいです。
宜しくお願いします。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int number[7][4];
int tmp;
int i, j;
FILE *fin, *fout;
if ((fin = fopen("data2", "r")) == NULL)
{
printf("入力ファイルがありません\n");
exit(1);
}
if ((fout = fopen("data4", "w")) == NULL)
{
printf("出力ファイルがありません\n");
exit(1);
}
for (i = 0; i<7; i++)
{
for (j = 0; j<4; j++)
{
fscanf(fin, "%d", &number[i][j]);
if(number[i][j]>number[i][j+1])
{
tmp=number[i][j];
number[i][j]=number[i][j+1];
number[i][j+1]=tmp;
}
fprintf(fout,"%d",number[i][j]);
}
fprintf(fout, "\n");
}
fclose(fin);
fclose(fout);
return 0;
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/08 16:16
2018/07/08 16:33