# Read coefficients of linear equations from file into 2d array

Printable View

• 06-20-2009
omaralqady
Read coefficients of linear equations from file into 2d array
Hi,
I'm working on a program that reads linear equations from a file such as those:
Code:

```3x+2y-2.5z=9 -2x+9y+12z=23.4 4.2x-7y+9.6z=45.3```
The file is supposed to contain n equations with n variables which I would read into a 2d dynamic array of doubles and then I'm supposed to solve the resulting matrix using Gauss's method. I've already implemented Gauss's method but I can't figure out when reading from file how to get only the numbers and the signs for example from the above equations I'm supposed to have the following in the array:
Code:

```[+3][+2][-2.5] [-2][+9][+12] [+4.2][-7][+9.6]```
I need the numbers after the equal sign to be stored in a separate n sized array as well.

If anyone has any ideas I'd really appreciate it :)
• 06-20-2009
Brafil
Let me look at your code. Else, I'd suggest you to use formatted input.
• 06-20-2009
omaralqady
What part of the code exactly? It's too large and most if not all of it is irrelevant to this remaining part.
I just need to read double by double until I reach the equal sign and store the double after it in a n sized array for solutions and when a new line starts I'd move to the next row in the 2d array and repeat the process. Is that possible?

Thanks for replying :)
• 06-20-2009
Brafil
If you're sure the input is all correct, ol' fscanf might help you. Or read "double - char - double - char - char - double" (something like this).
• 06-20-2009
omaralqady
If I don't know the number of variable but can calculate it once I read the file, can I just loop reading one double and one char for the number of variables without moving to the next line until I pass the = sign?
• 06-20-2009
Brafil
Read a double, then a char, then an operator. Keep doing until the operator is '='. The number of variables is the number of times you did that. Read another double. You have everything you need.
• 06-20-2009
omaralqady
All right then :D Thank you very much for your help :)