дан массив n*m. удалить 3 строчку. на qbasic
Дан массив n*m. удалить 3 строчку. на qbasic
Задать свой вопрос1 ответ
Борис Сивяков
MS DOS QBasic 1.0
DIM n AS INTEGER, m AS INTEGER
CLS
INPUT "n,m=", n, m
IF n lt; 3 THEN
PRINT "nlt;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.
DIM n AS INTEGER, m AS INTEGER
CLS
INPUT "n,m=", n, m
IF n lt; 3 THEN
PRINT "nlt;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
NEXT i
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
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.
Евген Чузов
а для чего нужен REDIM и RANDOMIZE TIMER?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов