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

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

3.3. Задачи анализа массива

Мы используем циклы с заданным числом повторений. Напомним, что циклы с заданным числом повторений (арифметические циклы) применяются, когда число повторений цикла известно к началу его выполнения.

Пример 3.2. Вычислить сумму элементов одномерного массива.

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

Найти S - сумму элементов массива.

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

Исполнение алгоритма

S = 0

нц

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

     S = S + a[i]

кц

 

i

S

 

0

1

0+ a1 = 0 + 3 = 3

2

a1 +a2 = 3 + 5 = 8

3

a1 +a2 + a3 = 8 - 2 = 6

4

a1 +a2 + a+ a4 = 6 + 6 = 12

Тест

Данные

Результат

N = 4

A = (3, 5, -2, 6)

S = 12

     

Пример 3.3. Найти сумму элементов одномерного массива, кратных заданному числу.

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

Найти S - сумму элементов массива, кратных числу k.

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

Пусть S - сумма элементов массива. Будем суммировать не все элементы, а только те, которые удовлетворяют заданному условию, то есть только те, которые делятся нацело на заданное число (остаток от деления на данное число равен 0). Для вычисления остатка от деления числа нацело используем операцию Mod.

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

Ввод k

S = 0

нц

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

    Если (a [i] Mod k =0) то s = s + a [i]

    Все если

кц

Тест

Данные

Результат

N = 5

A = (3, 5, -2, 8, 9)

k=3

S = 12

       

Пример 3.4. Найти количество положительных и отрицательных чисел в данном массиве.

Дано: n - размер массива, массив А = (a1, a2, ... , an). Обозначим k1 - количество положительных чисел, k2 - количество отрицательных чисел.

Найти k1, k2 - количество положительных и отрицательных чисел массива.

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

Пусть k1 = 0 и k2 = 0. Если a[i] > 0, то k1 = k1 + 1. Если a[i] < 0, то k2 = k2 + 1. Процесс повторяется до просмотра всех чисел массива.

k1 = 0;        k2 = 0

нц

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

Если a [i] > 0 то k1 = k1 + 1 Все если

Если a[i] < 0 то k2 = k2 + 1 Все если

кц

Вывод "Количество положительных чисел", k1

Вывод "Количество отрицательных чисел", k2

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



 

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

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

Комментарии

Интересное




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

Партнёры