Загрузка динамической дополненной матрицы из файла в C - PullRequest
0 голосов
/ 28 января 2012

Для выполнения домашнего задания я должен прочитать расширенную матрицу из файла, а затем выполнить исключение Гаусса с частичным поворотом.Проблема в том, что нам нужно загрузить Матрицу любого размера (квадратную или нет), которая дополнена вектором b.

Ax = b - это уравнение, очевидно, и нам дан файл, содержащий [AЬ].Пример файла выглядит следующим образом:

2.0000000000000000e + 000 2.0000000000000000e + 000 1.0000000000000000e + 000 4.0000000000000000e + 000 2.0000000000000000e + 000 1.0000000000000000e + 100 * 10060000000000000000e + 100 * 100600+000 3.0000000000000000e + 000 2.0000000000000000e + 000 -3,0000000000000000e + 000 2.0000000000000000e + 000 2.0000000000000000e + 000

4.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e + 000

-2.0000000000000000e + 000 1,0000000000000000e + 000 1,0000000000000000e + 000 0,0000000000000000e + 000 2,0000000000000000e + 000 2,0000000000000000e + 000

* 100000000000000000000000000000000000000000000000000000000000000000000000000000000e+000 -7.0000000000000000e + 000 8.0000000000000000e + 000 1.0000000000000000e + 000

В этом файле 6 двойных чисел на строку, поэтому это матрица 5x5 с вектором b, дополненным ею.

Так как мне не разрешено использовать команду liНе аргументы за размер (другой аргумент - файл), мне любопытно узнать, как мне следует загружать двойные числа в матрицу.Каждый тестовый файл имеет различное количество строк, например, одна имеет 3 строки, а другая - 10.

Матрица будет сохранена как двумерный массив.

1 Ответ

0 голосов
/ 28 января 2012

Вы можете использовать функцию strtok для чтения чисел, разделенных пробелом, и подсчета количества токенов, чтобы узнать размеры вашей матрицы.

strtok - это функция, выполняющая строку tokenising .

См. c-faq для примера использования strtok:

http://c -faq.com / lib / strtok.html

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