Чтение в текстовом файле ASCII, содержащем матрицу в двумерный массив (язык C) - PullRequest
1 голос
/ 04 января 2011

У меня есть файл ASCII, содержащий матрицу действительных чисел.Я хочу прочитать эту матрицу в 2-D массив на языке C.Файл ASCII, содержащий матрицу 4x3, выглядит следующим образом:

2 3 4
4 5 6.7
3 4 8.9
3 4 5.9

Кто-нибудь может предложить быстрый способ сделать это?Я гуглил это, но все решения, которые я вижу, довольно запутанные.

1 Ответ

4 голосов
/ 04 января 2011

А как же:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    double matrix[4][3];
    int i, j;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 3; j++)
        {
            if (scanf("%lf", &matrix[i][j]) != 1)
            {
                fprintf(stderr, "Failed to read matrix[%d][%d]\n", i, j);
                exit(1);
            }
        }
    }

    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("%6.2f", matrix[i][j]);
        }
        putchar('\n');
    }

    return 0;
}

Пример вывода

  2.00  3.00  4.00
  4.00  5.00  6.70
  3.00  4.00  8.90
  3.00  4.00  5.90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...