Важная информация
Показано с 1 по 6 из 6

Тема: qbasic, немогу найти ошибку в программе "Ханойские башни"...

  1. #1 qbasic, немогу найти ошибку в программе "Ханойские башни"... 
    Новичок
    Регистрация
    22.05.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Ханойские башни, qbasic ... помогите исправить...
    идет все...
    кроме...
    на 2м колышке не хочет проверять можно или нельзя класть кольцо...
    я знаю что у меня в днк ошибка....
    и что я бейсик последний раз видел сто лет назад...

    племянник попросил помочь...

    главное....

    мне сама прога надо а не как быстрее ее пройти...

    с Уважением...

    demettriss


    10 SCREEN 7
    16 o = 170
    17 r(1) = 80
    18 r(2) = 160
    19 r(3) = 240
    20 LOCATE 24, 1: INPUT " number of disks ", m

    25 DIM a(m, 3)
    26 FOR w = 2 TO 3
    27 FOR e = 1 TO m
    28 a(e, w) = 0
    29 NEXT e
    30 NEXT w


    40 FOR z = 1 TO m

    60 a(z, 1) = z

    70 NEXT z
    73 f = 0
    75 CLS
    80 LINE (78, o)-(82, 10), 15, B
    90 LINE (158, o)-(162, 10), 15, B
    100 LINE (238, o)-(242, 10), 15, B
    110 LINE (2, o)-(318, 175), 15, B
    120 FOR q = 1 TO 3
    130 FOR i = 1 TO m
    132 c = i
    133 IF c >= 15 THEN c = c - 1
    134 IF c <= 1 THEN c = 15
    135 IF c >= 2 AND c <= 14 THEN GOTO 137 ELSE GOTO 133
    137 t = m - i + 1

    145 IF m = i THEN k = m AND t = m
    150 k = a(t, q)
    155 k = k + 5
    160 x1 = r(q) - k
    170 x2 = r(q) + k
    180 o1 = o - 5 * (i - 1)
    190 y1 = o1
    200 y2 = o1 - 5

    215 IF a(t, q) = 0 THEN GOTO 220
    210 LINE (x1, y1)-(x2, y2), c, BF
    220 NEXT i
    230 NEXT q



    290 IF f = 1 THEN GOTO 335

    300 LOCATE 24, 1: INPUT " from what ", a%
    310 CLS
    320 IF a% > 3 OR a% < 1 THEN GOTO 345
    325 f = f + 1
    330 GOTO 75
    335 LOCATE 24, 1: INPUT " on what ", b%
    337 IF b% > 3 OR b% < 1 OR a% = b% THEN GOTO 345 ELSE GOTO 360

    345 CLS
    346 LOCATE 15, 5: INPUT "not the correct value", d
    347 IF f = 1 THEN GOTO 75
    355 GOTO 75


    360 z1 = a%
    370 z2 = b%
    380 xyz = a(1, z1)

    390 IF a% = j THEN a% = a(1, j)
    400 IF b% = j THEN b% = a(1, j)

    450 IF b% = 0 THEN GOTO 510

    500 IF a% > b% THEN LOCATE 15, 1: INPUT "not the correct value. A%>B%", j ELSE GOTO 510
    505 GOTO 73

    510 m1 = m - 1
    520 k1 = a(1, z1)
    525 a(1, z1) = 0
    530 FOR i = 1 TO m1
    540 i1 = i + 1
    560 SWAP a(i, z1), a(i1, z1)
    570 NEXT i

    600 s1 = m
    610 m1 = m - 1
    620 FOR i = 1 TO m1
    630 s2 = s1 - 1
    640 SWAP a(s1, z2), a(s2, z2)
    650 s1 = s2
    660 NEXT i
    666 a(1, z2) = xyz
    700 h = a(m, 2)
    710 u = a(m, 3)
    720 IF h > 0 OR u > 0 THEN GOTO 750 ELSE GOTO 73

    750 LOCATE 15, 15: PRINT " W I N ! "
    Вложения
    • Тип файла: rar 001.rar (1.9 Кб, Просмотров: 2)
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    22.05.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    вопрос еще актуален!!!
    Ответить с цитированием  
     

  3. #3  
    Супер модератор Аватар для Kakos_nonos
    Регистрация
    07.01.2011
    Адрес
    Кубань
    Сообщений
    1,531
    Сказал(а) спасибо
    126
    Поблагодарили 428 раз(а) в 291 сообщениях
    Записей в блоге
    6
    Поскажите, пожалуйста, какая переменная что означает.
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  4. #4  
    Профи Аватар для Dispetcher14
    Регистрация
    12.12.2010
    Адрес
    Раменское
    Сообщений
    597
    Сказал(а) спасибо
    35
    Поблагодарили 68 раз(а) в 56 сообщениях
    Записей в блоге
    13
    Давайте начнём с грамотной постановки вопроса: программа такая-то, делает то-то, ошибка там-то, пытался сделать то-то, помогло/не помогло, что конкретно нужно. Я например так и не понял, что именно требуется
    "Спокойно, Маша, я Дубровский" (с) Дубровский, "Дубровский".
    Ответить с цитированием  
     

  5. #5  
    Новичок
    Регистрация
    22.05.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    три колышка...
    "м" колец...
    надо все кольца переместить на другой ...
    условие...
    большее на меньшее не кладется....

    у меня условие не работает...
    на 2м и третьем колышке спокойно меньшее на большее кладется(...
    Ответить с цитированием  
     

  6. #6  
    Супер модератор Аватар для Kakos_nonos
    Регистрация
    07.01.2011
    Адрес
    Кубань
    Сообщений
    1,531
    Сказал(а) спасибо
    126
    Поблагодарили 428 раз(а) в 291 сообщениях
    Записей в блоге
    6
    Тут по-моему надо массивы делать для каждого колышка. В них будут значени размеров колец.
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. iso Образ диска win95 или win98 для "VIRTUAL PC"
    от Артем в разделе Операционные системы
    Ответов: 5
    Последнее сообщение: 09.11.2017, 09:44
  2. Ответов: 6
    Последнее сообщение: 05.01.2013, 18:02
  3. Ответов: 0
    Последнее сообщение: 08.11.2012, 08:10
  4. Ответов: 4
    Последнее сообщение: 02.12.2011, 16:39
  5. Ответов: 14
    Последнее сообщение: 23.08.2011, 01:06
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •