打印排序的整数数组元素

时间:2013-10-01 10:07:24

标签: c++ arrays sorting mfc

我试图找到数组的最大值和最小值。我有' numArray',这是一串逗号分隔的数字(例如 - 3,5,1,6)。我使用标记器将它们分成单独的整数并将它们存储在一个单独的数组中。然后我会对它们进行排序并打印第0个元素,但是,[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);

1 个答案:

答案 0 :(得分:1)

错误在于,当您可能想要传递minMaxAvg.SetWindowTextA时,str的参数为someStr,即。您正在传递原始字符串而不是新格式化的字符串。

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