Sponsored Content
Top Forums Programming Reading Scientific notation from file and storing in array Post 302582609 by Filter500 on Friday 16th of December 2011 01:20:38 PM
Old 12-16-2011
Reading Scientific notation from file and storing in array

Hi,

I am trying to read a set of numbers that are in scientific notation into a file so I can do some math on them, but when I display the array contents the numbers aren't the same as the numbers in the file.

Could someone explain why? Thanks.
Code:
int main()
{

    double fArray[36];
    int i=0;
    FILE *fptr;

    fptr = fopen ("C:\\temp.txt", "r");

    if (fptr == NULL)

        printf ("Can't Find File to open\n");

    else
    {
        for (i=0; i <= 36; i++)
            {
            while (fscanf(fptr, "%lf", &fArray[i]) != EOF);
            printf ("%e\n", &fArray[i]);
            }
    }

return 0;
}

Text File Contents
Code:
1.973500e-08
1.972500e-08
1.971520e-08
1.975500e-08
1.960500e-08
1.972500e-08
1.736000e-07
1.735500e-07
1.736600e-07
1.735000e-07
1.735000e-07
1.735500e-07
1.291000e-06
1.288000e-06
1.291090e-06
1.290500e-06
1.289500e-06
1.290500e-06
9.856000e-06
9.823500e-06
9.845830e-06
9.837500e-06
9.837500e-06
9.837500e-06
8.102000e-05
8.068000e-05
8.086240e-05
8.094500e-05
8.086000e-05
8.086240e-05
6.591000e-04
6.597000e-04
6.611440e-04
6.634500e-04
6.616000e-04
6.611440e-04

Numbers read into array
Code:
6.951149e-308
6.951183e-308
6.951217e-308
6.951251e-308
6.951285e-308
6.951319e-308
6.951353e-308
6.951387e-308
6.951421e-308
6.951455e-308
6.951488e-308
6.951522e-308
6.951556e-308
6.951590e-308
6.951624e-308
6.951658e-308
6.951692e-308
6.951726e-308
6.951760e-308
6.951794e-308
6.951828e-308
6.951862e-308
6.951896e-308
6.951930e-308
6.951964e-308
6.951998e-308
6.952032e-308
6.952066e-308
6.952100e-308
6.952134e-308
6.952167e-308
6.952201e-308
6.952235e-308
6.952269e-308
6.952303e-308
6.952337e-308
6.952371e-308

Moderator's Comments:
Mod Comment Use code tags, ty. See PM

Last edited by zaxxon; 12-16-2011 at 03:14 PM.. Reason: code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to Convert scientific notation to normal ?

Hell friends, I wrote a script gets the summation of particular column using awk. The awk output is given in scientific notation. How do I convert the scientific notation to normal. My awk syntax : awk '{sum += $2} END { printf sum }' temprep.txt Out put is like 1.5365e+07 I want it as... (2 Replies)
Discussion started by: maheshsri
2 Replies

2. UNIX for Dummies Questions & Answers

How to add/multiply numbers with scientific notation (2.343e-5)

Hi, I'm need to do some addition and multiplication of scientific nottaion numbers, in the form 34.23423e-10 for example. I was echoing the list of numbers to stdout, then using bc -l, then I find that this does not seem to work for numbers with exponential notation. Could someone help me out... (1 Reply)
Discussion started by: chugger06
1 Replies

3. Shell Programming and Scripting

Bash Scientific Notation

Hello there, I have a script that must be written in bash that has to deal with reading in values from a file (in scientific notation), and requires executing some mathematical operations with them. What is the easiest way to go about doing this/converting it to float to use | bc, etc.? ... (7 Replies)
Discussion started by: amit_57
7 Replies

4. UNIX for Dummies Questions & Answers

Conversion of scientific notation

Hello All, Hope all is well, Suppose I have a program that extracted data into a file called: progcros.in. I attached the file but I renamed it progcros.txt. I think that my mess up the column alignment. Anyways, in several columns there are numbers listed, however the numbers... (4 Replies)
Discussion started by: gingburg
4 Replies

5. Shell Programming and Scripting

Rounding scientific notation

Hi Friends, I have following 50,000 records in .txt file. I need to round field 3, 4, & 5 to 3 decimal places. 11|A123|-2.64216408856E01|3.64216408856E01|4.64216408856E-01 11|A123|0|-5.64216408856E01|0 11|A123|0|0|0 11|A123|-99999999|-99999999|-99999999... (4 Replies)
Discussion started by: ppat7046
4 Replies

6. Shell Programming and Scripting

Converting from scientific notation to normal

Hi everyone, I need to convert some numbers that are written in scientific notation to normal notation. Here is a sample line from my data file; "1",1,-1,0,0,502,0,0.00000000000E+00,0.00000000000E+00,0.35591163544E+03,0.35591163548E+03,0.50400001928E-02,0.,-1. first of all, my data file... (4 Replies)
Discussion started by: hayreter
4 Replies

7. Shell Programming and Scripting

Perl: scientific notation to decimal notation

hello folks, I have few values in a log which are in scientific notation. I am trying to convert into actual decimal format or integer but couldn't able to convert. Values in scientific notation: 1.1662986666666665E-4 2.0946799999999998E-4 3.0741333333333333E-6 5.599999999999999E-7... (2 Replies)
Discussion started by: scriptscript
2 Replies

8. Shell Programming and Scripting

Help w/ Reading Matrix & Storing in dynamic array

First of I would just like to state that I am not looking for you guys to just do my work for me, I do want to learn and actually understand everything that is happening. Hey all, I am having trouble on this. What I need to do is... Write an executable C file that will take a text file (not a... (8 Replies)
Discussion started by: innvert
8 Replies

9. Shell Programming and Scripting

Help with filter result (scientific notation) by using awk

Input file: data1 0.05 data2 1e-14 data1 1e-330 data2 1e-14 data5 2e-60 data5 2e-150 data1 4e-9 Desired output: data2 1e-14 data1 1e-330 data2 1e-14 data5 2e-60 data5 2e-150 I would like to filter out those result that column 2 is less than 1e-10. Command try: (1 Reply)
Discussion started by: cpp_beginner
1 Replies

10. UNIX for Beginners Questions & Answers

Print multiple columns in scientific notation

Hi everybody, I have file 1 with 15 columns, I want to change the formatting of the numbers of columns 10,11 and 12 in the scientific notation. I used the Following script: awk '{print $10}' file1.dat | awk '{printf "%.2e\n", $1}' > file2.dat awk '{print $11}' file1.dat | awk '{printf... (7 Replies)
Discussion started by: supernono06
7 Replies
All times are GMT -4. The time now is 03:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy