Глава 3. Алгоритмы, использующие одномерные массивы - 3.2 Задачи заполнения массива

E-mail Печать PDF
Рейтинг пользователей: / 10
ХудшийЛучший 
Индекс материала
Глава 3. Алгоритмы, использующие одномерные массивы
3.2 Задачи заполнения массива
3.3. Задачи анализа массива
3.4. Нахождение элементов, обладающих определенным свойством
3.5. Изменение значений некоторых элементов
3.6. Обмен значений элементов
3.7. Удаление и вставка элементов массива
3.8. Алгоритмы, реализуемые с помощью циклов с предусловием
3.9. Использование вложенных циклов
Все страницы

3.2 Задачи заполнения массива

При решении задач приходится заполнять массивы (присваивать значения элементам). Рассмотрим несколько способов заполнения массивов.

Первый способ заполнения одномерного массива - это ввод данных с клавиатуры.

Второй способ - это заполнение с помощью генератора случайных чисел.

Третий способ - использование оператора присваивания.

Ввод элементов с клавиатуры нами только что был рассмотрен. Посмотрим, как используется генератор случайных чисел. Мы должны воспользоваться стандартными процедурами, определенными в том языке программирования, который вы будете использовать. Мы предполагаем, что процедура Randomize устанавливает генератор случайных чисел в начальное состояние, а функция Random генерирует случайное число.

Randomize;

нц

Для i от 1 до n повторять

    a[i] = -25 + Random(51)

кц

Диапазон генерируемых случайных чисел от 0 до -25 + (51 - 1) = 25.

Если все элементы массива имеют одно и тоже значение, то для его задания удобно использовать оператор присваивания:

нц

Для i от 1 до n повторять

    a[i] = 0

кц

Все элементы массива получат значение, равное нулю.

Далее во всех задачах мы будем считать, что элементы массива заданы тем или иным способом и показывать только реализацию алгоритма решения задачи, опуская команды ввода данных и вывода результата.

Пример 3.1. Сформировать новый одномерный массив из положительных элементов заданного массива.

Дано: n - размер массива произвольный, массив Х[n].

Найти: массив Y[n].

Обозначим: i - текущий индекс элементов массива Х, k - текущий индекс элементов массива Y.

Ясно, что для реализации алгоритма необходимо использовать цикл с заданным числом повторений, так как количество элементов в массиве Х известно. Приведем фрагмент блок-схемы алгоритма и описание алгоритма на псевдокоде.

 

k =0

нц
  Для  
i от 1 до n повторять

    Если X[i] > 0

    То

         k = k+1; Y[k] = X[i]

     Все если

кц

 

Тест

Данные

Результат

N = 7

X = (-1, 2, 0, 4, -3, -2 0)

 

Y = (2, 4)

Задачи для самостоятельного решения

1. Заполните массив {ai} размера n нулями.

2. Заполните массив {ai} размера n четными числами.

3. Заполните массив {ai} размера n  числами Фибоначчи. Числа Фибоначчи определяются рекуррентными соотношениями a1 = 1; a2 = 2; ai = ai-1 + ai-2.

4. Заполните массив, запрашивая значения элементов в диалоге.

5. Заполните массив случайными числами в интервале от 1 до k.

6. Робот стоит перед входом в коридор, уходящий в бесконечность вправо. В коридоре много закрашенных клеток. Запишите в массив уровни радиации в первых N закрашенных клетках.

7. Робот стоит перед входом в коридор, который ведет вправо и заканчивается тупиком. Некоторые клетки закрашены. Запишите в массив уровни радиации в закрашенных клетках.

8. Из заданного массива {ai} размером n запишите в массив {bi} элементы, удовлетворяющие условию ai <= T, где Т - произвольное число.



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры