Форум программистов, компьютерный форум, киберфорум
Наши страницы
QBasic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/187: Рейтинг темы: голосов - 187, средняя оценка - 4.73
кот Бегемот
Платежеспособный зверь
8465 / 3911 / 1523
Регистрация: 28.10.2009
Сообщений: 10,141
1

Как заполнить массив и вывести его на экран

26.04.2010, 21:07. Просмотров 34147. Ответов 2
Метки нет (Все метки)

Начнем с того, что массив надо объявить. Если размеры массива заданы, например а(20) или a(5,6), первой командой программы пишем объявление массива. Легче всего это сделать просто добавив впереди слово DIM. Для первого примера
PureBasic
1
DIM a(20)
для второго
PureBasic
1
DIM a(5,6)
Если размеры массива в условии не заданы, вводим их с клавиатуры, а потом уже объявляем.
Для одномерного массива:
PureBasic
1
2
INPUT "vvedite kolichestvo elementov N ",n
DIM a(n)
Для двумерного:
PureBasic
1
2
3
INPUT"vvedite kolichestvo strok M ",m
INPUT"vvedite kolichestvo stolbcov N ",n
DIM a(m,n)
Теперь, когда массив объявлен, надо его заполнить.
Есть 3 основных варианта заполнения массива:
1. Ручной ввод с клавиатуры
2. Чтение данных из списка
3. Заполнение случайными числами
Есть и другие способы, но они применяются редко, и мы о них пока не будем говорить.
Разберём самый популярный способ
Ручной ввод.
Для одномерного массива мы пишем команду цикла FOR и в цикле заполняем массив командой INPUT
Для нашего примера это будет выглядеть так:
PureBasic
1
2
3
FOR i=1 to N
input "vvedite element ",a(i)
next
или, если количество элементов известно, скажем, 20, то
PureBasic
1
2
3
FOR i=1 to 20
input "vvedite element ",a(i)
next
Для двумерного массива циклов FOR будет 2 - для строк и для столбцов, поэтому заполнение будет выглядеть так:
PureBasic
1
2
3
4
5
FOR i=1 to m
FOR j=1 to n
input "vvedite element ",a(i,j)
next
next
Массив заполнен. Выводим его на экран теми же командами цикла
Одномерный:
PureBasic
1
2
3
FOR i=1 to N
print a(i);
next
Двумерный:
PureBasic
1
2
3
4
5
6
FOR i=1 to m
FOR j=1 to n
print a(i,j);
next
print
next
Команда PRINT во второй раз пишется для перехода на следующую строку.

Итак, мы объявили, заполнили и вывели массив. С этого начинаются все программы на массивы.
Соберём всё в одну программу.
Программа заполнения и вывода одномерного массива:
PureBasic
1
2
3
4
5
6
7
8
9
INPUT "vvedite kolichestvo elementov N ",n
DIM a(n)
FOR i=1 to N
input "vvedite element ",a(i)
next
print "massiv"
FOR i=1 to N
print a(i);
next
Программа заполнения и вывода двумерного массива:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
INPUT"vvedite kolichestvo strok M ",m
INPUT"vvedite kolichestvo stolbcov N ",n
DIM a(m,n)
FOR i=1 to m
FOR j=1 to n
input "vvedite element ",a(i,j)
next
next
print "matrica "
FOR i=1 to m
FOR j=1 to n
print a(i,j);
next
print
next
Если вы запомните, как это делается, считайте, что половину задачи вы уже решили. А это уже много.
22
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2010, 21:07
Ответы с готовыми решениями:

Массив в 10 элементов заполнить случайными двухзначными числами, вывести на экран сумму четных чисел.
Ребят помогите ломаю голову сижу.... вообщем в qbasic'e Задача 1 : Массив в...

Образовать двумерный массив Q(5*5) и вывести его на экран
Образовать двумерный массив Q(5*5) и вывести его на экран, если: Q(i , j) = 2i...

Построить массив размерности n×n вида и вывести его на экран
Помогите пожалуйста с задачей. Построить массив размерности n×n вида и...

Заполнить двумерный массив номерами мест, подсчитать количество мест у окон и вывести на экран схему мест
В автобусе 6 рядов кресел по 4 места в каждом ряду. Чётные номера находятся у...

Как преобразовать матрицу А в одномерный массив и вывести на экран?
как преобразовать матрицу А в одномерный массив и вывести на экран?

2
viwald
2 / 2 / 1
Регистрация: 13.12.2010
Сообщений: 51
17.12.2010, 20:41 2
Привет КотБегемот=)я тут в учебничке глянул, форма заполнения одномерного массива гораздо удобнее с помощью DATA,выглядит примерно так:

PureBasic
1
2
3
4
5
6
7
DATA 23, 13, 98, 77, 45, 56, 32,' 10, 90, 55
CLS
INPUT "Введите количество элементов массива"; N
DIM MASS(N)
FOR I=1 ТО N
READ MASS(I)
? MASS(I); NEXT I
Программа становится несколько короче ,так как в этом случае можно совместить чтение из DATA и одновременный вывод их на экран-ведь кодер освобожден от необходимости вводить данные с клавы.
Мне кажется этот способ гораздо экономичней, того который ты привел и при отладке проги нет нужды всякий раз заново вводить данные.=)
0
кот Бегемот
Платежеспособный зверь
8465 / 3911 / 1523
Регистрация: 28.10.2009
Сообщений: 10,141
04.04.2011, 17:31  [ТС] 3
Оператор DATA, к сожалению, сокращает массовость алгоритма:
Алгоритм должен быть применим не только для конкретной задачи, но и для всех подобных задач. То есть, для любых вводимых данных. Скажем, программа запускается 5 раз. Одно дело - ввести 5 разных списков данных, другое - 5 раз переписывать программу.
А для отладки - согласен, DATA здесь облегчает ввод.
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2011, 17:31

Заполнить массив У элементами массива Х, находящимися после его максимального значения
Заполнить массив У элементами массива Х, находящимися после его максимального...

Сформулировать массив K состоящий из 27 элементов и заполнить его случайными целыми числами
Ребят помогите пожалуйста в QBasic ) 1.Сформулировать массив K состоящий из 27...

Вывести на экран число и его корень
Написать программу которая выводит следующий :...


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

Или воспользуйтесь поиском по форуму:
3
Закрытая тема Создать тему
Опции темы

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