簡體   English   中英

c ++ 查找列中的最大和最小數

[英]c++ find the max and min number in a column

如何從文件中的列中找到最大和最小數字? 然后顯示與該數字關聯的字符串? (不使用數組)示例

第 1 列:10 15 105 7 45
第 2 列中的字符串:abcde

您只需要一行一行地讀取文件,記住最小值和最大值以及直到最后找到的相關字符串。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM