2016-09-30 3 views
-4

Как вы можете найти максимальное и минимальное количество из столбца в файле? Затем отобразите строку, связанную с этим номером? (Без использования массивов) примерC++ найти максимальное и минимальное число в столбце

column1: 10 15 105 7 45
строка в Colum 2: ABCDE

+0

Вы действительно имеете в виду колонку? Разве вы не говорите о строках? – Pablo

+0

Просто прочитайте файл во внутренней структуре данных, например. 'std :: map'. –

+0

есть, столбец. Я просто не мог отображать его горизонтально в этом текстовом поле @pablo – lola96

ответ

1

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

#include <fstream> 
#include <limits> 
#include <iostream> 

void printMaxAndMin() { 
    std::ifstream infile("file.txt"); 
    int curVal, 
     maxVal = std::numeric_limits<int>::min(), 
     minVal = std::numeric_limits<int>::max(); 
    std::string curStr, maxStr, minStr; 

    while (infile >> curVal >> curStr) { 
    maxStr = maxVal < curVal ? curStr : maxStr; 
    maxVal = maxVal < curVal ? curVal : maxVal; 

    minStr = minVal > curVal ? curStr : minStr; 
    minVal = minVal > curVal ? curVal : minVal; 
    } 
    std::cout << "minimum: " << minVal << ", " << minStr << std::endl; 
    std::cout << "maximum: " << maxVal << ", " << maxStr << std::endl; 
}