Reading multiple columns in C++


 
Thread Tools Search this Thread
Top Forums Programming Reading multiple columns in C++
# 1  
Old 03-11-2013
Reading multiple columns in C++

Dear all,
I am novice in C+= programing. I would like to seek help in one of the progra. Here it is, I have txt file which has the data as following order
Code:
 varA   varB
-21      0 
-21.2    3, 4, 5, 6
-21.4    45, 65, 87, 98, 98
-22.0    345677, 349887, 98766, 877654, 987543
-23.0   76549, 8764, 9873

I need to plot the
Log(varA) vs average of the varB on graph. I am confuse as the columns for varB are all undecided, how shall I do that? Trying to look for help in google, not much help..Smilie

thanks in advance,
emily
# 2  
Old 03-12-2013
Do you create the data file, or are you stuck with something? Can you change the data file, because whatever process creates the data file "knows" how many values in varB column:
Code:
varA   cnt varB
-21      1     0 
-21.2    4     3 4 5 6
-21.4    5     45 65 87 98 98
-22.0    5     345677 349887 98766 877654 987543
-23.0    3     76549 8764 9873

Then the programming to read the data would be pretty trivial, using fscanf.
# 3  
Old 03-12-2013
Hi,
Thanks for the reply.
I have some experimental measurement which I am suppose to put in txt file and also need to plot. So the no of values for varB can be maximum of 6 or 7 maybe.
If you kindly write a small program for doing it, would be useful.
I figured out the TGraph from ROOT is good tool to plot it, but reading the txt file with second column has so many variables.. I am confuse...Smilie

thanks
emily

Quote:
Originally Posted by hanson44
Do you create the data file, or are you stuck with something? Can you change the data file, because whatever process creates the data file "knows" how many values in varB column:
Code:
varA   cnt varB
-21      1     0 
-21.2    4     3 4 5 6
-21.4    5     45 65 87 98 98
-22.0    5     345677 349887 98766 877654 987543
-23.0    3     76549 8764 9873

Then the programming to read the data would be pretty trivial, using fscanf.
# 4  
Old 03-12-2013
Unless you can tell us what the data file means, or at least what created it, we're going to be as puzzled as you.
# 5  
Old 03-12-2013
HI Corona,
Sorry I thought I explained this before, let me try again.
These are the set of measurement, which I got manually from some hardware setup.
And I need to plot the varA vs Average no of the VarB

Code:
  varA   varB
-21      0 
-21.2    3, 4, 5, 6
-21.4    45, 65, 87, 98, 98
-22.0    345677, 349887, 98766, 877654, 987543
-23.0   76549, 8764, 9873

So my (x,y) would be
Code:
   
x            y
-21         0
-21.2   (3+4+5+6)/4 
------
---and so on

So yes, I know before hand that the txt file has no of reading for varB in separate rows.

thanks again
emily
# 6  
Old 03-12-2013
Does this have to be C++? This would be trivial in many languages but annoying in C/C++.

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

int main(void)
{
        char buf[1024];
        char buf2[1024];

        while(fgets(buf, 1024, stdin) != NULL)
        {
                char *tok;
                float x, y=0.0;
                int n=0;
                if(sscanf(buf, "%f %s", &x, buf2) != 2) continue;

                tok=strtok(buf2, ", \r\n\t");
                while(tok != NULL)
                {
                        float z;
                        n++;
                        if(sscanf(tok, "%f", &z) == 1) y+=z;
                        tok=strtok(NULL, ", \r\n\t");
                }

                printf("%f %f\n", x, y/n);
        }
}


Last edited by Corona688; 03-12-2013 at 03:39 PM.. Reason: 1024 != 4096
This User Gave Thanks to Corona688 For This Post:
# 7  
Old 03-12-2013
thanks Corona,
Actually, I work around with C++ and also on ROOT. I find the combination really good and effective.
It is just that I begin with such task, so sometimes stuck !!

I will see if I can use the TGraph from ROOT here to plot a nice Graph, thanks for your kindness..Smilie

Out or curiosity, which other language you would refer, where it would be really easy to plot it?

emily,
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Reading columns using arrays

Hello, Please help in how to read rows and columns using array and print them. I have below output and i want to store this in array and print the required rows or columns. aaaaaaa 123 bbbbbb 456 ccccccc 888 Use code tags, thanks. (1 Reply)
Discussion started by: Cva2568
1 Replies

2. Shell Programming and Scripting

Removing carriage returns from multiple lines in multiple files of different number of columns

Hello Gurus, I have a multiple pipe separated files which have records going over multiple Lines. End of line separator is \n and records going over multiple lines have <CR> as separator. below is example from one file. 1|ABC DEF|100|10 2|PQ RS T|200|20 3| UVWXYZ|300|30 4| GHIJKL|400|40... (7 Replies)
Discussion started by: dJHa
7 Replies

3. Shell Programming and Scripting

How to split all columns into multiple columns?

Hi, all. How can I split all columns into multiple columns separated by tab? Input: qq ee TT 12 m1 aa gg GG 34 2u zz dd hh 56 4h ww cc JJ 78 5y ss ff kk 90 j8 xx pp mm 13 p0 Output: q q e e T T 1 2 m 1 a a g g G G 3 4 2 u z z d d h h 5 6 4 h w w c c J J 7 8 5 y (8 Replies)
Discussion started by: huiyee1
8 Replies

4. Shell Programming and Scripting

Reading multiple values from multiple lines and columns and setting them to unique variables.

Hello, I would like to ask for help with csh script. An example of an input in .txt file is below, the number of lines varies from file to file and I have 2 or 3 columns with values. I would like to read all the values (probably one by one) and set them to independent unique variables that... (7 Replies)
Discussion started by: FMMOLA
7 Replies

5. Shell Programming and Scripting

Compare multiple files with multiple number of columns

Hi, input file1 abcd 123 198 xyz1:0909090-0909091 ghij 234 999 xyz2:987654:987655 kilo 7890 7990 xyz3:12345-12357 prem 9 112 xyz5:97-1134 input file2 abcd 123 198 xyz1:0909090-0909091 -9.122 0 abed 88 98 xyz1:98989-090808 -1.234 1.345 ghij 234 999 xyz2:987654:987655 -10.87090909 5... (5 Replies)
Discussion started by: jacobs.smith
5 Replies

6. Shell Programming and Scripting

Awk match multiple columns in multiple lines in single file

Hi, Input 7488 7389 chr1.fa chr1.fa 3546 9887 chr5.fa chr9.fa 7387 7898 chrX.fa chr3.fa 7488 7389 chr21.fa chr3.fa 7488 7389 chr1.fa chr1.fa 3546 9887 chr9.fa chr5.fa 7898 7387 chrX.fa chr3.fa Desired Output 7488 7389 chr1.fa chr1.fa 2 3546 9887 chr5.fa chr9.fa 2... (2 Replies)
Discussion started by: jacobs.smith
2 Replies

7. Shell Programming and Scripting

Reading columns, making a new file using another as template

Hi fellas, I have two files such as: File 1 interacao,AspAsp,AspCys,CysAsp,CysCys,classe File 2 interacao,AspAsp,CysAsp,AspCys,CysCys,classe beta_alfa, DA, CA, DD, CD,ppi Thus, I want to make a File 3 using the File 1 as model: e.g. File 3... (2 Replies)
Discussion started by: valente
2 Replies

8. Web Development

mysql query for multiple columns from multiple tables in a DB

Say I have two tables like below.. status HId sName dName StartTime EndTime 1 E E 9:10 10:10 2 E F 9:15 10:15 3 G H 9:17 10:00 logic Id devName capacity free Line 1 E 123 34 1 2 E 345 ... (3 Replies)
Discussion started by: ilan
3 Replies

9. Shell Programming and Scripting

need help with post:extract multiple columns from multiple files

hello, I will would be grateful if anyone can help me reply to my post extract multiple cloumns from multiple files; skip rows and include filenames; awk Please see this thread. Thanks manishabh (0 Replies)
Discussion started by: manishabh
0 Replies

10. Shell Programming and Scripting

Reading columns in tab delimited file

I want to read only one column in "|" delimited file and write that column to a new file. For Ex: Input File 1|abc|324|tt 2|efd|11|cbcb 3||1|fg 4|ert|23|88 Output : I want to read column 3 in diff file. 324 11 1 88 Can anyone give me inputs on this ? (2 Replies)
Discussion started by: net
2 Replies
Login or Register to Ask a Question