前回は有難うございました。
今回も宜しくお願いします。
現在、Aの配列の下に一行あけてBの配列を並べてCSV形式で保存する
事を考えていますが思うようにいきません。
printfではこの並びでうまくいくのですが、CSV形式ですとどうしたらよろしいですか?
ご教授ください。
AとBの配列の並びは前回と同じです。
for (i=0; i<10; i++)
{
for(j=0; j<9; j++){
double A[j][i];
fprintf(fp4,%f,A[j][i]);//この部分の処理
}
fprintf(fp4,,\n);//この部分の処理
}
fprintf(fp4,,\n);//改行
for (i=0; i<10; i++)
{
for(j=0; j<9; j++){
double B[j][i];
fprintf(fp4,%f,B[j][i]);//この部分の処理
}
fprintf(fp4,,\n);//この部分の処理
}
> 思うようにいきません。
>
どうなっちゃってるんですか?
まずパッと見、配列AやBの宣言位置や宣言方法、おかしいと思いますが。
i、jは変数ですから、
> double A[j][i];
では、配列のサイズが不定ですよね。
'思うようにいきません' を説明してください。
どうなることを期待していて、実際にはどうなってしまうのですか?
csvファイルの中身
Aの配列j×i
一行あける
Bの配列j×i
といったような並びで出力されることを期待しています。
宜しくお願いします。
どんな出力結果を期待しているかは解りました。
で、どうなってしまうのですか?
ちょっと補足。
データ(ここでいう配列AとB)の中身はどこでどう与えているのでしょう?
返信有難うございました。
Aの配列j×i
は出力されるのですが、
①一行あける
②Bの配列j×i
この二点がcsvに出力されないのです。
宜しくお願いします。
/* ヒント: 九九の表 */
#include <stdio.h>
#define N 9
int main() {
int A[N][N];
int i, j;
for ( i = 0; i < N; ++i ) {
for ( j = 0; j < N; ++j ) {
A[i][j] = (i+1)*(j+1);
}
}
for ( i = 0; i < N; ++i ) {
for ( j = 0; j < N; ++j ) {
printf(%2d%c, A[i][j],
( j == N-1 ) ? '\n' : ',');
}
}
return 0;
}
>データ(ここでいう配列AとB)の中身はどこでどう与えているのでしょう?
宣言はこのようになっています。
すいません。上述のコードは型を分かりやすくと思ったのですが、
逆に皆様を困らせてしまいました。
申し訳ないです。
int main(){
double A[j][i];//ここに宣言
for (i=0; i<10; i++)
{
for(j=0; j<9; j++){
A[j][i];
fprintf(fp4,%f,A[j][i]);//この部分の処理
}
fprintf(fp4,,\n);//この部分の処理
}
:::::::::::::::::::::::::::
}//main
全てのfprintfを実行後、fflushしてみてはどうでしょう?
もちろん、fcloseする前ですよ!
ふつーに考えて、
A配列が出力できることが確認できているなら、
B配列も同じ方法でできるはずです。
>Aの配列j×iは出力されるのですが、
と書いているのなら、なぜAの出力部分のソースしか提示されないのでしょう?
皆様返信有難うございました。
少し考えて見ます。
ごちゃごちゃ言わずに
ソース全部貼れ
A配列の宣言だけで値を代入してるところがねーじゃねーか
CSVで出力したいんならデータごとにカンマ入れろ