Глава 3. Алгоритмы, использующие одномерные массивы - 3.5. Изменение значений некоторых элементов

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

3.5. Изменение значений некоторых элементов

Пример 3.8. Заменить отрицательные элементы массива их абсолютными величинами.

Дано: n - размер массива, массив А = (a1, a2, ... , an).

Найти массив того же размера, в котором отрицательные числа будут заменены их модулями.

Математическая модель:

Пусть k1 = 0 и k2 = 0. Если а[i] < 0, то а[i] = -а[i]. Вычисления повторяются, пока не будут просмотрены все числа массива.

Приведем фрагмент алгоритма.

нц

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

    Если a[i] <0 то a[i] = -a[i]

    Все если

кц

нц

Для i от 1 дo n повторять {Печать элементов массива}

    Вывод a[i]

кц

Тест

Данные

Результат

N= 9

A=(-1, 10, 1, -6, -5, 12, 36, -15, -21)

A=(1, 10, 1, 6, 5, 12, 36, 15, 21)

     

Пример 3.9. Если очередной элемент массива четный, то прибавить к нему первый, если нечетный - прибавить последний. Первый и последний элементы массива не изменять.

Дано: n - размер массива, массив А = (a1, a2, ... , an).

Найти массив того же размера, в котором к четному элементу будет добавлен первый, а к нечетному - последний.

Математическая модель:

Рассмотрим все элементы массива, кроме первого и последнего. Если а[i] - четный элемент, то а[i] = а[i] + а[1], иначе а[i] = а[i] + а[n]. Процесс повторяется, пока не будут просмотрены все числа массива. Заметим, что число является четным, если оно делится на 2 без остатка.

Приведем фрагмент алгоритма.

нц

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

    Если a[i] Mod 2 = 0 То a[i] = a[i] + a[1]

                                Иначе a[i] = a[i] + a[n]

    Все если

кц

Пример 3.10. Дан первый член арифметической прогрессии и ее разность. Записать в массив первые n членов прогрессии.

Обозначим m1 - первый элемент прогрессии,  k - ее разность, n - размер массива.

Дано: m1, k, n.

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

Математическая модель:

При i = 1,  a[1] = m1,  i-й элемент массива можно найти по следующему правилу: a[i] = a[i - 1] + k, здесь i меняется от 2 до n.

Приведем фрагмент алгоритма.

a[1] = m1

нц

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

   a[i] = a[i-1] + k

кц

Пример 3.11. Даны два одномерных массива - А и В. Найти их скалярное произведение.

Дано: n - размер массива, А, В - массивы размера n.

Найти S - скалярное произведение двух массивов.

Математическая модель:

Скалярным произведением двух массивов одинаковой размерности называется сумма произведений соответствующих элементов:

a[1] ? b[1] + a[2] ? b[2] + ... + a[n] ? b[n], где n - количество элементов в массивах.

Фрагмент алгоритма:

s = 0

нц

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

    s = s + a[i] * b [i]

кц

Тест

Данные

Результат

N = 5

A = (3, -1, 10, 1, -6,);
B =(2, 4, -3,5,-4)

S = 3?2 -1?4 -10?3+1?5 +6?4 = 1

     

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

1. Измените знак у максимального по модулю элемента массива.

2. Замените все четные элементы массива их квадратами, а нечетные элементы - удвойте.

3. Вычтите из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2, нулевые элементы оставьте без изменения.

4. К четным элементам массива прибавьте произвольное число А, а из элементов с четными номерами вычтите произвольное число В.

5. Отрицательные элементы массива  возведите в квадрат.

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

Например, даны два массива - А и В, состоящие из пяти элементов. Получим массив С, тоже состоящий из пяти элементов. Первый элемент этого массива равен большему из первых элементов массива А и В, второй - большему из вторых элементов массивов - и так далее.

7. Дан первый член геометрической прогрессии и ее знаменатель. Найдите и запишите в массив первые n членов этой прогрессии.

8. Даны два массива. Найдите среднее арифметическое элементов каждого и сравните эти значения.



 

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

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

Комментарии

Интересное




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

Партнёры