# [Solved]txt file output the line number or row number where i got the max value

• Hi friends,

i have to read a txt file and compare the rows get the maximum value along with the index of the row i have got the maximum number.

what i have done so far is read the txt file line by line and compare the values and output the maximum number, but not index of the row where I got the maximum number.

could someone please help me how i could get the index of a maximum number(or the line number where i get the maximum value).

for example if have
1,2,3,4,7
2,3,4,5,6
7,8,9,2,1

output should be like
index, maximum number
2 , 7
2 , 8
1 , 5
0 ,7

please i have tried different ways but i couldn't be able to figure out how to do this, hope some one will assist me.

@
for (row = 0; row < 5; row++){
QByteArray line = file.readLine(); // read line by line
QList<QByteArray> numbers = line.split(',');
for (column = 0; column < (numbers.size() - 1); column++) {
data = numbers[column].toInt(); // convert the byte array into an integer
if (data > max[column]) // compare with row number to get the maximum number of colum0 etc.
max[column] = data;
}
}
@

[edit: added coding tags @ SGaist]

• Hi,

There are several ways to do it e.g. a QList<QPair<int, int>> where the QPair's first is the row and QPair's second is the max value

Hope it helps

• thanks but how to use it in my code

• For each row store the max and max column values and add them to the list before starting a new row

• Hi try this..

# }

Data is your 2D array inwhich your values of your file is stored.

• Thanks IamSumit & SGaist that works, have taken one more variable Maxindex and updated row to that variable, fixes the problem
@
for (row = 0; row < 5; row++){
QByteArray line = file.readLine(); // read line by line
QList<QByteArray> numbers = line.split(',');
for (column = 0; column < (numbers.size() - 1); column++) {
data = numbers[column].toInt(); // convert the byte array into an integer
if (data > max[column]) // compare with row number to get the maximum number of colum0 etc.
max[column] = data;
Maxindex[column] = row;
}
}
@

[edit add missing @ coding tags SGaist]

• If your problem is solved then prepend [SOLVED] in thread title.
Thanks