KeyFansClub

首页 » - 特色讨论区 - » 键社茶餐厅 » 再问一个VB题……OTL(已解决^_^)
helenzhu - 2007/11/26 13:48:00
:  1
:- 1 - 12
:  1    12  123
:- 1 - 12 - 123 - 1234
:  1    12  123  1234  12345
:- 1 - 12 - 123 - 1234 - 12345 - 123456

就是打印这个东西啦
用两重循环
数字是对齐的
减号两边都有空格
冒号是我加的 不然在论坛上根本对不齐……

偶快不行了啊……[:Cry:]
dreamz - 2007/11/26 16:02:00
我只会C或者C++的程序写法,VB没学过T_T
Yellowmices - 2007/11/26 20:06:00
...........不用vb用basic可以吗...........只在小学是学过...现在被迫改语言了...
字符里的空格用_表示
new
DIM  T%,A$,J%,F$ 
  for  T=1    to  6 
  A$="_";IF  T    MOD    2=1  THEN    F$="_ _"        ELSE    F$="_ -"
  FOR  J=1  TO  T   
  A$=A$+RIGHT$(STR$(J),1)
  PRINT  F$;A$
  NEXT  J
  PRINT 
  NEXT  T
  END
RUN
似乎是这样  basic的编译器不知飞到哪里去了无法确认(而且没用过vb...当年学校的机都是386......)
大概是两个变量 T是从1 到6 另一个J是 1  到 T
把 J变成字符放到A行成"  1","    12","    123".......(用两个循环我想不到不把数字变字符就可以做出的方法);由你的样例不难看出奇数行全是空  偶数行全有减号 所以给个判断偶数都加上"-"就这样输出似乎就可以 了
我学的时候程序中除了定义要用$  程序中字符型都要加上$  如果vb不需要就去掉

还有程序首部该加什么就加什么吧...忘记要不要加new了...

啊!!!!!!!!信息学联赛  又一次提高组失利  保送无望拉!!!!!!!!![:Orz:]
王二 - 2007/11/26 22:46:00
采用Form上直接输出的方式,打印该图形

Private Sub Form_Load()

    Dim i, j  As Integer
    Dim str As String
    Dim line As String
   
    Form1.AutoRedraw = True '自动刷新<-True,这样打印到Form的时候就会显示,否则不会显示
    Form1.CurrentX = 10    'X从10处开始输出
    Form1.CurrentY = 10    'Y从10处开始输出
   
    For i = 1 To 6          '纵向6次循环
        str = ""
        line = ""
        For j = 1 To i      '横向根据纵向次数循环
            str = str & CStr(j) '组成1 12 123 ...类似的字符串
           
            '偶数行输出 -
            If i Mod 2 = 0 Then
                line = line + " - " + str
            Else
                line = line + "  " + str
            End If
        Next j
        Form1.Print line    '打印该行
    Next i

End Sub
helenzhu - 2007/11/27 12:58:00
嗯 yellowmices君的解答貌似和VB的代码不太一样 王二君的解答打印成功 ^_^ 就是在line = line + "  " + str
把空格再多加一个就对齐了^_^
谢谢你们~~~
Yellowmices - 2007/11/27 15:28:00
................vb  ..........basic ............

看来语言过时了............................  有点对不起的样子

.......发泄一下.

program lt;
var  i,j,p:integer;
begin
    for i:=1 to  6 do
  begin
      if  i  mod  2=0  then    f:='    -'  else  f:='      ';
      for j:=1 to i do
      begin
      write(f, '    ');
      for p:=1 to j do
      write(p);
    end;
      writeln;
    end;
end.  [:Wakeup:]
helenzhu - 2007/11/27 16:59:00
[:-_-b:] 呵呵
问下……这个是什么语言呢?
Yellowmices - 2007/11/27 22:00:00
....万恶的Pascal  (....不知为什么用一个发明压强的人做程序的名字....)
粘土火星 - 2007/11/28 17:57:00
Delphi已经死了……Pascal没有未来,囧。。。

楼上NOIP的话也还是去C系列吧……囧
Yellowmices - 2007/11/28 18:06:00
...............虽然说delphi和pascal已经退出历史舞台了........但是能拿分就可以了....[:^^1:]
(保送啊[:Cry:] )

小pa自从3.  4年前被老师从basic诱拐转入  用这个搞算法已经习惯了  看来一时间是改不了了............                上了大再改也不迟..........
粘土火星 - 2007/11/28 18:22:00
说到Pascal和C,倒想起来严蔚敏那本数据结构,C语言版基本就是照Pascal版改写的……………………
Yellowmices - 2007/11/28 18:38:00
..............是什么年代的........

我现在无论在哪里找到的都是c版的数据结构
pascal的似乎已经绝迹了..........
王二 - 2007/11/28 18:40:00
数据结构啊,我大学那本上面的程序扔到编译器编译都通不过,错误1页2,3个=v=
粘土火星 - 2007/11/28 19:11:00
1992年的第2版……非常嫩的草绿色…………囧

我认为这本还是超经典=v=bbb,TMD上个月某个考试居然还考B-树这种基本上不看的内容。。。。当年NOIP哪需要这么复杂的玩意……
王二 - 2007/11/28 19:21:00
原帖由 粘土火星 于 2007-11-28 19:11:00 发表
1992年的第2版……非常嫩的草绿色…………囧

我认为这本还是超经典=v=bbb,TMD上个月某个考试居然还考B-树这种基本上不看的内容。。。。当年NOIP哪需要这么复杂的玩意……


B-树可是NTFS用的存放模型=v=
普通的二叉树随着叶子增多,如果不用平衡算法调节的话,很容易出现单枝过长,检索速度变慢的现象
B-树主要是横向发展的,所以检索速度在B-树变得很大后也不会过慢

虽然平时用不找(可以说数据结构的大部分东西都用不到...C类库,.NET的Collection下都有完整可以使用的各种数据结构模型),但有助于理解数据结构实现和笔试顺利通过=v=
(小声:最近批了几张新人的笔试考卷,实现堆栈竟然有N多人PUSH,POP都写不出来......这批学生还是学校推荐过来的......orz现在的教育啊....
粘土火星 - 2007/11/28 19:34:00
就是因为那考试我才重新看了,平衡树,B-,B+,还有什么键树……囧
Yellowmices - 2007/11/28 22:02:00
回复: 再问一个VB题……OTL(已解决^_^)



引用:
原帖由 粘土火星 于 2007-11-28 19:11:00 发表
1992年的第2版……非常嫩的草绿色…………囧

我认为这本还是超经典=v=bbb,TMD上个月某个考试居然还考B-树这种基本上不看的内容。。。。当年NOIP哪需要这么复杂的玩意……


B-树可是NTFS用的存放模型=v=
普通的二叉树随着叶子增多,如果不用平衡算法调节的话,很容易出现单枝过长,检索速度变慢的现象
B-树主要是横向发展的,所以检索速度在B-树变得很大后也不会过慢

虽然平时用不找(可以说数据结构的大部分东西都用不到...C类库,.NET的Collection下都有完整可以使用的各种数据结构模型),但有助于理解数据结构实现和笔试顺利通过=v=
(小声:最近批了几张新人的笔试考卷,实现堆栈竟然有N多人PUSH,POP都写不出来......这批学生还是学校推荐过来的......orz现在的教育啊....



...........就是因为考试里把那些乱七八遭的代码全部禁掉了...市赛上机试里的庞大数据量搜索量的东西 被迫要看那些 什么二叉搜索树  什么求二叉值域....什么trie算法...什么avl平衡树....什么B+B-树[:Wakeup:] (92年那本是数据结构吗..........我看算法书多一点)

虽然说现在的noip一年比一年弱Z了  但是noi  却一年比一年变态了...........果然是因为成绩的待遇问题啊.................

ps  王'二前辈是招什么人啊..............=  = |||  说起来push和pop是什么东西啊.....
王二 - 2007/11/28 23:48:00
=v=我不招人...是人事部经理招新人,把他们的笔试题给我批了一部分...

Push和Pop...
用于堆栈的经典操作
堆栈思想:先进后出
Push将一个元素从“栈顶”压入栈
Pop将一个元素从“栈顶”弹出来

因为Push和Pop始终在对栈顶的元素进行操作,所以后进去的元素必定先出来,先进去的元素后出来(比如在栈底的元素必定最后一个出来)

堆栈这个数据结构在函数嵌套调用里使用得非常广泛。
另外编译原理中,运算符语法分析器也是可以用堆栈来实现的。

另,也是大学计算机考试,单位招人中出现机率非常高的一个知识点=v=
(其实在普通程序开发过程中,使用到堆栈的地方并不多,还是ArrayList和Hashtable用得多一点....
Yellowmices - 2007/11/29 13:05:00
......原来如此 
学堆栈时 我记得但是那老师都只说进栈出栈...........
我还以为只有队列有描述入列与出列的专有名词.............

PS  原来有这么多职业招收要用到这些的吗.............我以为算法语言只能拿来赚分的..........OTL
粘土火星 - 2007/11/30 11:45:00
喷……楼上看数据结构不知道ADT定义的标准运算么?

难道NOIP就是为了一个保送名额么……先不说题越来越弱,为啥参加者的心态都一年比一年功利了……

PS:trie算法,92年那本就写了一小小块,我看第N遍的时候才发现。。。
PS2:NOI变态是很正常的,因为现在变态的NOI就是以前NOI的变态牛们出题。
Yellowmices - 2007/11/30 13:17:00
........所以说 不怎么看数据结构  而且我一贯没有对标准运算的概念  只是靠自己的理解然后自己写(所以说时间上很吃亏)


..........其实noip的保送名额对我来说没什么诱惑力.............只是一直这样没什么成绩的话  会有一点浪费时间的感觉  noip的保送的以现在成绩高考肯定没问题...........

所以这不是什么功利问题(虽然说我不否认目前noip是越来越功利化)但至少给我点心理平衡啊....[:Wakeup:] ...
天空下的传说 - 2007/11/30 19:17:00
大家都是强人啊,我考vb时只有80分[:Orz:]
1
查看完整版本: 再问一个VB题……OTL(已解决^_^)