好菜啊~~

langzi8818 2004-06-24 09:24:35
我想写个堆排序,当然明白怎么写。我想这样的:
在文本框中输入一组数字,如1 2 3 4这样,然后排序,再在一个文本框中输出排序好的,但是输入的时候是好多数字,用来储存文本框内容的变量却只有一个,那是不是要用CString啊~~那要提取啊~是不是啊`~~各位大虾给个好的方法啊~~
...全文
129 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
langzi8818 2004-06-28
  • 打赏
  • 举报
回复
还是不明白我的意思了~
huang_yu 2004-06-28
  • 打赏
  • 举报
回复
楼主是要搞动画演示?那就不要用VC啦,这个东西写起来太困难了。建议你用搞课件的软件。
“下一步的那种对话框”
继承CDialog类,生成你自己要的对话框类,然后把你的过程演示代码写在这个类里面,调用DOMODUL把对话框显示出来。
langzi8818 2004-06-28
  • 打赏
  • 举报
回复
各位大虾,谁能告诉我啊 !~~~~~~
langzi8818 2004-06-25
  • 打赏
  • 举报
回复
先谢谢大家~~我试试看~~
对了,我想做下一步,下一步的那种对话框,怎么做~就是把堆排序的过程演示出来
langzi8818 2004-06-24
  • 打赏
  • 举报
回复
to laiyiling(最熟悉的陌生人) :你的程序有空格了还对吗?
to pomelowu(羽战士):你的程序不明白,函数不懂,能不能给个注解,谢谢
pomelowu 2004-06-24
  • 打赏
  • 举报
回复
上面的代码是按把按空格分开的字符串提取到一个CString数组。
pomelowu 2004-06-24
  • 打赏
  • 举报
回复
上次写的CString的使用上有例子的,可惜服务器回档……

CString stra = "1 2 3 4";
CString strb[MAX_SIZE];

stra.TrimRight();

for (int i = 0;!stra.IsEmpty(); i++)
{
strb[i] = stra.SpanExcluding(" ");
stra = stra.Mid(strb.GetLength());
stra.TrimLeft();
}
Kudeet 2004-06-24
  • 打赏
  • 举报
回复
CString myString="123456";
int num[256];
int nLen=myString.GetLength();
for(int i=0;i<nLen;i++)
{
num[i]=atoi(myString.GetAt(i));
}
gufengduyu 2004-06-24
  • 打赏
  • 举报
回复
用CString一个一个提取很方便啊
xdsh00 2004-06-24
  • 打赏
  • 举报
回复
to: laiyiling(最熟悉的陌生人)
你的程序好象有问题吧!如果是大于10的,那你的num[i]=atoi(myString.GetAt(i))得到的是一位吧!
应该拿一个象';'这样的字符格开,然后根据‘;’查找吧!
C
pomelowu 2004-06-24
  • 打赏
  • 举报
回复
注解一下:

CString stra = "1 2 3 4";//这是假设从文本框中得到的字符串,用空格分开
CString strb[MAX_SIZE];//用于接收的CString数组

stra.TrimRight();//去掉字符串末尾的空格

for (int i = 0;!stra.IsEmpty(); i++)//循环直到解析完字符串
{
strb[i] = stra.SpanExcluding(" ");//获得从第一个字符到第一个空格之间的字符串
stra = stra.Mid(strb.GetLength());//去掉已经解析获得的子串
stra.TrimLeft();//去掉剩下字符串左边的空格
}
Kudeet 2004-06-24
  • 打赏
  • 举报
回复
如果有空格的话,你在用atoi函数前先判断以下就是了!
IsNumber()函数
lixiaosan 2004-06-24
  • 打赏
  • 举报
回复
CString strLine = "25 2 3 5 88";
CString strTemp;
int nCount = 0;
char *ss=strLine.GetBufferSetLength(strLine.GetLength());
char *p;

for ( p=strtok(ss, " "); p!=NULL; p=strtok(NULL, " ") )
{
strTemp = p;
int a= atoi(strTemp);
nCount++;
}

后面的就是分配数组(可以用Vector),排序,然后写入新的edit。
langzi8818 2004-06-24
  • 打赏
  • 举报
回复
怎么没有人说话啊~~~求救啊~~

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧