C言語関係掲示板

過去ログ

No684 CSVファイルの行と列の入れ替え

[戻る] [ホームページ]
No.7681

Re:CSVファイルの行と列の入れ替え
投稿者---ちぇっこり(2003/06/23 10:25:08)


>サンプルプログラム等をご存知の方いらっしゃいましたら是非教えてください。
>よろしくお願いいたします。

たぶん・・これでは「レス」はないと思いますよ。
サンプル=解答 になるとすれば、丸投げと同等ですから・・

2行2列の行列の縦横を反転させるプログラムを
考えてみて、自己サンプルにしてみては!?

No.7811

Re:CSVファイルの行と列の入れ替え
投稿者---かずま(2003/06/26 21:17:29)


> 2行2列の行列の縦横を反転させるプログラムを
> 考えてみて、自己サンプルにしてみては!?

元の質問者がプログラムを書いてくれないようなので、
row 行 col 列の行と列を反転するプログラムを書いてみました。
データが正しいフォーマットでないと、変なことになります。
#include <stdio.h>
#include <string.h>

#define N  10000

int main(void)
{
    char *a[N], buf[256], c;  int n, i, j, row = 0, col;

    for (n = 0; scanf("%255[^,\n]%c", buf, &c) == 2; n++) {
        if (n == N) return puts("too many data"), 1;
        a[n] = strdup(buf);
        if (a[n] == NULL) return puts("out of memory"), 1;
        if (c == '\n') row++;
    }
    if (!feof(stdin)) return puts("input error"), 1;
    col = n / row;
    n -= col;
    for (i = 0; i < col; i++) {
        for (j = i; j < n; j += col)
            printf("%s,", a[j]);
        printf("%s\n", a[j]);
    }
    return 0;
}