如何从文件的列中找到最大和最小数字?然后显示与该数字关联的字符串? (不使用数组) 示例
第 1 列:10 15 105 7 45
第 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;
}
关于C++ 查找列中的最大和最小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801103/