打印排序的整数数组元素

Print sorted integer array element

本文关键字:数组元素 整数 排序 打印      更新时间:2023-10-16

我正在尝试查找数组的最大值和最小值。我有"numArray",它是一串逗号分隔的数字(例如 - 3,5,1,6)。我正在使用分词器将它们分解为单独的整数并将它们存储在单独的数组中。然后我对它们进行排序并打印第 0 个元素,但是"nums[0]"以确切的顺序打印整个数组,如 3,5,1,6。我尝试注释排序部分,但我仍然得到了整个数组。我做错了什么?我是C++初学者。

CString str = numArray;
int i=0;
int nums[50]; 
int nTokenPos = 0;
CString strToken = str.Tokenize(_T(","), nTokenPos);
while (!strToken.IsEmpty())
{
    int x = atoi(strToken);
    nums[i]=x;
    strToken = str.Tokenize(_T(","), nTokenPos);
    i++;
}
std::sort(nums,nums+50);
int min = nums[0];
CString someStr;
someStr.Format(_T("The minimum number is: %d"), min);
minMaxAvg.SetWindowTextA(str);

错误在于,当你可能打算传递someStr时,你对minMaxAvg.SetWindowTextA的参数是str的,即你传递的是原始字符串而不是新格式化的字符串。

minMaxAvg.SetWindowTextA(str);     /* <- this           */
minMaxAvg.SetWindowTextA(someStr); /* <- should be this */