чтение матрицы из текстового файла и использование номеров одного столбца в переполнении стека

Я начинающий
Я использую с программным обеспечением CORSIKA. Выходные данные cosika — это текстовые файлы с 8 или 7 столбцами и более 2000 строк (например, матрицы).
Массивы этой матрицы являются номерами в научной нотации, как следующие изображения

2.11285E+05  2.00000E+01  1.30714E+05  7.35000E+00  1.00000E+00  1.10000E+04  0.00000E+00
0.00000E+00  0.00000E+00  0.00000E+00  0.00000E+00  0.00000E+00  0.00000E+00  0.00000E+00
0.00000E+00 -2.70000E+00  1.00000E+03  1.00000E+03  1.00000E+00  1.00000E+00  3.00000E-01
3.00000E-01  3.00000E-03  3.00000E-03  6.37132E+08  6.00000E+05  2.00000E+06  0.00000E+00
0.00000E+00  4.58060E-02  5.73090E-01  5.28304E-02  2.50000E+00  2.07000E+00  8.20000E+00
1.00000E-01  0.00000E+00  0.00000E+00  1.00002E+00  9.67266E-03  1.00000E+00  5.75129E-04
0.00000E+00  0.00000E+00  3.77000E+01  1.53287E-04  9.38642E+00  2.00000E-03  2.99792E+10

Я хочу прочитать данные в 7-м столбце и вычислить некоторые параметры, такие как среднее, максимальное, минимальное в одном столбце.

У меня есть этот код для чтения и отображения текстового файла, но я не знаю, как использовать числа и рассчитать некоторые параметры.

#include<iostream.h>
#include<stdio.h>
#include<conio.h>

int main()
{
FILE *k;
char c;
k = fopen("c:\\fff.txt", "r");
c = getc(k);
while(c != EOF)
{
cout << c;
c = getc(k);
}
getch();
fclose(k);
return 0;
}

Помогите мне, пожалуйста.
Спасибо

1

Решение

Попробуй это:

#include <iostream>
#include <string>
#include <sstream>

int main()
{
std::string line;
std::istringstream iss;

while (std::getline(file >> std::ws, line))
{
float f;

iss.str(line);
while (iss >> f)
;

// f is equal to the 7th row by this line
}
}

В зависимости от ваших потребностей, f может быть локальным для области цикла while или иным образом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector