查找列中的最大值和最小值

c++ find the max and min number in a column

本文关键字:最小值 最大值 查找      更新时间:2023-10-16

如何找到文件中列的最大值和最小值?然后显示与该数字相关联的字符串?(不使用数组)示例


第2列的字符串:a b c d e

你只需要逐行读取文件,记住最小值和最大值以及直到最后找到的相关字符串。

#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;
}