TC官方合作论坛

 找回密码
 立即注册
查看: 1212|回复: 11
打印 上一主题 下一主题

[已解决] 用TC完成以下算法,有偿

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-25 18:19:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 zajanmy 于 2014-5-25 18:36 编辑

2,220,2,230,4,247,5,226,7,242,逗号,235
通过比较220,230,247,226,242,235的大小从而排序(从小到大)它们前面的元素
比如226小于230  就把226前面的5和230前面的2调换
最后只保留2,2,4,5,7,逗号的排序结果

求解
回复

使用道具 举报

8#
发表于 2014-5-25 21:25:27 | 只看该作者
本帖最后由 jimye0526 于 2014-5-25 21:28 编辑

  1.     变量 原始字符串, 数组大小 = 0, 计次, 计次1, 排序后的字符串
  2.     变量 原始字符组 = 数组[0], 字符组 = 数组[0], 排序字符组 = 数组[0]
  3.    
  4.     原始字符串= "2,220,2,230,4,247,5,226,7,242,逗号,235"
  5.     字符串.分割(原始字符串, ",", 原始字符组)
  6.     数组空间.大小(原始字符组, 数组大小)
  7.    
  8.     遍历(计次=0; 计次<数组大小; 计次++)
  9.         如果(计次%2 == 0)
  10.             数组空间.增加(字符组, 原始字符组[计次] & "," & 原始字符组[计次+1], 1)
  11.         否则
  12.             数组空间.增加(排序字符组, 原始字符组[计次], 1)
  13.         如果结束
  14.     遍历结束
  15.    
  16.     数组空间.排序(排序字符组, 2)
  17.    
  18.     遍历(计次=0; 计次<数组大小/2; 计次++)
  19.         遍历(计次1=0; 计次1<数组大小/2; 计次1++)
  20.             如果(字符串.查找字符串(字符组[计次1], "," & 排序字符组[计次]) > -1)
  21.                 排序后的字符串 = 排序后的字符串 & 字符串.左侧(字符组[计次1], 字符串.查找字符串(字符组[计次1], ",") ) & ","
  22.             如果结束
  23.         遍历结束
  24.     遍历结束
  25.    
  26.     字符串.移除(排序后的字符串, 1, 假)
  27.    
  28.     调试输出(排序后的字符串)
复制代码

随便给你写了个,你的例子是能可以排序的,不过如果第二个数字字符(就是220,230,247这些)是出现相等的数字,排序就会出现错误的。

如果这个对你有用的话,你的有偿就打过来吧,支付宝:291435773@qq.com

回复 支持 反对

使用道具 举报

沙发
发表于 2014-5-25 19:13:00 | 只看该作者
有偿多少,可以找我
399260802
回复 支持 反对

使用道具 举报

板凳
发表于 2014-5-25 19:13:51 | 只看该作者
2,220,2,230,4,247,5,226,7,242
既然是分组的 最好用不同的分隔符 比如
2,220;2,230;4,247;5,226;7,242
这样比较好算
如果一定要这样的话...就麻烦很多了
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-5-25 19:21:30 | 只看该作者
本帖最后由 zajanmy 于 2014-5-25 19:24 编辑
冷月无痕 发表于 2014-5-25 19:13
2,220,2,230,4,247,5,226,7,242
既然是分组的 最好用不同的分隔符 比如
2,220;2,230;4,247;5,226;7,242

2,220;2,230;4,247;5,226;7,242这样也行    但即使这样我也没思路啊。。
回复 支持 反对

使用道具 举报

5#
发表于 2014-5-25 19:57:01 | 只看该作者
pascal程序设计 呢本书上貌似还有这个 是个学生成绩排序- -。
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-5-25 20:11:54 | 只看该作者
本帖最后由 zajanmy 于 2014-5-25 20:17 编辑
rainshine 发表于 2014-5-25 19:57
pascal程序设计 呢本书上貌似还有这个 是个学生成绩排序- -。

TC的遍历语句貌似不直接支持步长为2...而且步长在遍历()里不好省略。。总而言之TC的遍历 我赶脚不强悍啊。。   所以  大大你说的参考  我用TC无法模仿。。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2014-5-25 20:12:49 | 只看该作者
jimye0526 发表于 2014-5-25 19:13
有偿多少,可以找我
399260802

你要多少?太多没意思
回复 支持 反对

使用道具 举报

9#
发表于 2014-5-25 21:30:13 | 只看该作者
分割,然后按冒泡算法写一下,注意一下比较的位置和最后要保存的数字的位置就好了
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-5-25 22:10:06 | 只看该作者
jimye0526 发表于 2014-5-25 21:25
随便给你写了个,你的例子是能可以排序的,不过如果第二个数字字符(就是220,230,247这些)是出现相等的数字 ...

大大你回慢了。。我找群里的人(论坛里的,昵称q273814)解决了。。也打款给他了。。。。我说的是实话  
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-27 00:34 , Processed in 0.125558 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表