Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

QBasic

Войти
Регистрация
Восстановить пароль
 
Petro29
6 / 6 / 0
Регистрация: 30.04.2016
Сообщений: 140
#1

План нумерации квартир сверху вниз - QBasic

11.01.2017, 17:51. Просмотров 218. Ответов 6
Метки нет (Все метки)

При нумерации квартир снизу вверх без нумерации и с нумерацией подъездов количество
квартир выдаётся правильно.
Вариант 3: План нумерации квартир сверху вниз.
А вот с нумерацией квартир сверху вниз без нумерации и с нумерацией подъездов количество квартир выдаётся неверно. Должно быть 56 квартир, а выходит 7. Почему так?
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CLS
INPUT “ Ввести номер квартиры: “, n
DIM A(7, 8)
   k = 1
FOR i = 1 TO 7  ‘кол. подъездов
FOR j = 8 TO 1 STEP -1  ‘кол. этажей по подъезду
   S = i * j
   A(i, j) = k
       k = k + 1
   IF A(i, j) = n THEN
PRINT “ Квартира на: “; j; “-м эт. в подъезде № “; i;
    END IF
NEXT j, i
   PRINT
PRINT “Всего квартир: “; S
  FOR i = 1 TO 7
   FOR j = 8 TO 1 STEP -1
      LOCATE 21 – j * 2, I * 5
       PRINT A(i, j)
   NEXT j, i
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
Ввести номер квартиры:  45
Квартира на:  4 – м  эт. в подъезде №6
Всего квартир:  7
     1    9   17   25   33   41   49
     2   10   18   26   34   42   50
     3   11   19   27   35   43   51
     4   12   20   28   36   44   52
     5   13   21   29   37   45   53
     6   14   22   30   38   46   54
     7   15   23   31   39   47   55
     8   16   24   32   40   48   56

Почему же всё – таки 7 квартир, а не 56?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос План нумерации квартир сверху вниз (QBasic):

Программа для определения количества цифр для нумерации квартир - Basic
Программа спрашивает у пользователя, сколько квартир нужно пронумеровать. Результат работы : вывод на экран информации о том, сколько...

Перемещение квадрата сверху вниз - Pascal ABC
помогите, нужна программа в которой квадрат будет перемещаться сверху вниз. паскальАБС

Построение таблицы сверху вниз - PHP
Нужна помощь! есть таблица <table> <tbody> <?$k=0;?> <?foreach;?> <?if ($k=="4"){echo '</tr><tr>'; $k=0;}?> <td> ...

Слева направо сверху вниз - Delphi
Слева направо от наименьших чисел к наибольшим используя 2-мepный мaccив! Обмозгуйте код я тупой! используя стринггрид for k:=1...

Совместимость модулей сверху вниз - Drupal
Остро необходимо запустить модуль написанный для 7 друпала на 6-ом. Я только начал знакомство с этой CMS. Может тут есть режим...

Квадраты падают сверху вниз - Delphi
Можете дать примеры как можно сделать , чтобы квадраты зарисовывались рандомно сверху экрана и падали вниз и исчезали

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
кот Бегемот
Платежеспособный зверь
8033 / 3752 / 675
Регистрация: 28.10.2009
Сообщений: 9,517
11.01.2017, 18:16 #2
Цитата Сообщение от Petro29 Посмотреть сообщение
QBasic/QuickBASIC
1
2
3
FOR i = 1 TO 7 ‘кол. подъездов 
FOR j = 8 TO 1 STEP -1 ‘кол. этажей по подъезду 
S = i * j
Последнее i=7 последнее j=1
S=7*1=7
Ну, а чего Вы хотели?
0
echs
891 / 1086 / 348
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
11.01.2017, 18:58 #3
Petro29
Ошибка в строке 17

(это Ваш код)
QBasic/QuickBASIC
1
   FOR j = 8 TO 1 STEP -1
(а надо)
QBasic/QuickBASIC
1
   FOR j = 1 TO 8
...
Измените оператор LOCATE. Попробуйте так
LOCATE j * 2, I * 5
проверьте!!
0
Petro29
6 / 6 / 0
Регистрация: 30.04.2016
Сообщений: 140
03.02.2017, 15:06  [ТС] #4
Предложенный ответ с изменённой строкой 17 (было: FOR j = 8 TO 1 STEP -1)и изменённым LOCATE (было: LOCATE 21 – j * 2, I * 5).

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CLS
INPUT “ Ввести № квартиры: “, n
DIM A(7, 8)
  k = 1
FOR i = 1 TO 7  ‘кол. подъездов
FOR j = 8 TO 1 STEP -1  ‘кол. этажей
   S =  i * j
   Ai, j) = k
     k = k + 1
PRINT “ Квартира на: “; j; “-м эт. в под-де № “;  i; 
  END IF
NEXT j, i
    PRINT
PRINT “ Всего квартир: “; S
FOR i = 1 TO 7   ‘строка  17
FOR j = 1 TO 8
   LOCATE j * 2, i * 5
      PRINT Ai, j)
NEXT j, i
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
Ввести № квартиры:  45
Ква  8  ра  16    24  м  32    40  д  48  №  56
Всего квартир:   7
       7     15    23    31    39    47    55    
        6    14    22    30    38    46    54
        5    13    21    29    37    45    53
        4    12    20    28    36    44    52
        3    11    19    27    35    43    51
        2    10    18    26    34    42    50
        1    9      17    25    33    41    49


Результат стал ещё хуже. И количество квартир не изменилось.
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Нашлось вот такое решение этой задачи – годится, допустимо?
CLS
INPUT “ Ввести № квартиры: “, n
DIM A(7, 8)
    k = 1
FOR i = 1 TO 7  ‘кол. подъездов
FOR j = 8 TO 1 STEP -1  ‘кол. этажей
 
   S = i * (j * 8)   ‘строка  7
       ‘строка 7 может быть такой: S = i * (j + 7)
       ‘или такой:  S = 7 * 8
 
      A(i, j) = k
         k = k + 1
    IF A(i, j) = n THEN
PRINT “ Квартира на: “; j; “-м эт. в под-де № “; i;
   END IF
NEXT j, i
    PRINT
PRINT “ Всего квартир: “; S
  FOR i = 1 TO 7
  FOR j = 1 TO 8
     LOCATE 21 – j * 2, i * 5
     PRINT A(i, j)
NEXT j, i
 
Ввести № квартиры:  45
Квартира на:  4-м эт. в под-де № 6
Всего квартир:  56
        1     9    17    25    33    41    49
        2    10    18    26    34    42    50
        3    11    19    27    35    43    51
        4    12    20    28    36    44    52
        5    13    21    29    37    45    53
        6    14    22    30    38    46    54
        7    15    23    31    39    47    55
        8    16    24    32    40    48    56
0
echs
891 / 1086 / 348
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
03.02.2017, 16:24 #5
Petro29
этаж 5. Вы перевернули таблицу
7 - это 7 квартир в одном подъезде. А вот если умножить
на 8 (число подъездов), то как раз и будет 56.
0
кот Бегемот
Платежеспособный зверь
8033 / 3752 / 675
Регистрация: 28.10.2009
Сообщений: 9,517
03.02.2017, 17:42 #6
Цитата Сообщение от Petro29 Посмотреть сообщение
QBasic/QuickBASIC
1
2
FOR i = 1 TO 7 ‘кол. подъездов 
FOR j = 8 TO 1 STEP -1 ‘кол. этажей
Зачем Вы этажи через задницу считаете?
Вы и пальцы свои считаете так: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1?
1
Petro29
6 / 6 / 0
Регистрация: 30.04.2016
Сообщений: 140
05.03.2017, 11:19  [ТС] #7
культурный человек: нет чтобы сказать прямо: «нумерация
этажей через ж…», так Вы культурно выразились: «через задницу».
А сделано это специально так: это упражнения с таблицами на все возможные варианты:
снизу вверх;
сверху вниз;
слева направо по горизонтали вверху, внизу;
справа налево по горизонтали внизу, вверху;
И всё это с наименованием номеров этажей и номеров подъездов.
Вот такая у меня «задница»!
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2017, 11:19
Привет! Вот еще темы с ответами:

Эллипсы падают сверху вниз - C#
Можете дать примеры как можно сделать , чтобы эллипсы зарисовывались рандомно сверху экрана ( за экраном ) и падали вниз и исчезали, чтобы...

Перемещение строки сверху вниз - Assembler
Помогите, пожалуйста. Нужно: задать вывод строки символов и ее перемещение сверху-вниз.

Обход дерева сверху вниз - Prolog
Как реализовать? Есть программа но она не хочет работать. DOMAINS treetype=tree (integer, treetype, treetype); nil () PREDICATES ...

Изобразить парашют, падающий сверху вниз - Pascal ABC
... парашут (можно ввиде простой фигуры , пусть даже треугольник) падающий сверху вниз (пусть слегка покачивается , что бы было похоже на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.03.2017, 11:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru