Вопрос задан 03.08.2018 в 03:19. Предмет Информатика. Спрашивает Кузьменцова Вика.

Дан массив n*m. удалить 3 строку. на qbasic

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лысенков Егор.
MS DOS QBasic 1.0

DIM n AS INTEGER, m AS INTEGER
CLS
INPUT "n,m=", n, m
IF n < 3 THEN
   PRINT "n<3"
   SYSTEM
END IF
REDIM a(1 TO n, 1 TO m) AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO n
   FOR j = 1 TO m
      a(i, j) = INT(50 * RND)
      PRINT USING "###"; a(i, j);
   NEXT j
   PRINT
NEXT i
PRINT
FOR i = 4 TO n
   FOR j = 1 TO m
      a(i - 1, j) = a(i, j)
   NEXT j
NEXT i
FOR i = 1 TO n - 1
   FOR j = 1 TO m
      PRINT USING "###"; a(i, j);
   NEXT j
   PRINT
NEXT i

Пример

n,m=5,8
 43  6 19 48 44  6 28 10
  5 48 44  1 31 30 25 33
 19 30 46 27 29 34 45  8
 17 37 43  1 37 46 25 45
 48 48 27 21 36 48 44 37

 43  6 19 48 44  6 28 10
  5 48 44  1 31 30 25 33
 17 37 43  1 37 46 25 45
 48 48 27 21 36 48 44 37

Замечание
Поскольку QBasic не поддерживает сохранение содержимого при изменении размеров динамического массива, для упрощения было решено не заниматься созданием вспомогательного массива, копирования в него всех строк, кроме последней, затем изменение размера исходного массива и обратное копирование в него. Просто считается, что n уменьшилось на 1.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для удаления третьей строки из массива размером n*m в QBASIC, вы можете использовать циклы и операторы присваивания. Вот пример кода:

```basic DIM n AS INTEGER DIM m AS INTEGER DIM array(n, m) AS INTEGER

' Заполнение массива данными

' Удаление третьей строки FOR i = 1 TO n FOR j = 1 TO m IF i <> 3 THEN array(i, j) = array(i, j) END IF NEXT j NEXT i ```

В этом коде мы используем два цикла `FOR` для перебора всех элементов массива. Мы проверяем, не является ли текущая строка третьей строкой (`IF i <> 3`). Если это так, мы просто присваиваем элементу массива его текущее значение (`array(i, j) = array(i, j)`). Если это не третья строка, мы пропускаем присваивание и оставляем элемент массива без изменений.

Обратите внимание, что в QBASIC индексация массивов начинается с 1, поэтому мы используем `FOR i = 1 TO n` и `FOR j = 1 TO m`.

Надеюсь, это поможет! Если у вас есть еще вопросы, не стесняйтесь задавать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос