Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Задача 1. Среднее арифметическое и количество положительных элементов



Читайте также:
  1. I. Гашение дуги с помощью полупроводниковых элементов
  2. II этап Развитие грудобрюшного типа дыхания с включением элементов дыхательной гимнастики А.Н. Стрельниковой
  3. II.3.2. Эффекты взаимного влияния элементов
  4. VI. Общая задача чистого разума
  5. А) Глубину ассортимента характеризуют показатели, определяемые как произведение количества предлагаемых групп (видов) товаров на количество разновидностей в каждой группе;
  6. Автограф, резко поднимающийся вверх. Много преувеличенно-демонстративных элементов. Если их «снять» - остается довольно мелкий, округлый, петляющий, неприметный почерк.
  7. Алгоритмы обработки элементов каждого столбца матрицы

Написать программу, которая для целочисленной матрицы 10 X 20 определяет сред­нее арифметическое ее элементов и количество положительных элементов в каж­дой строке.

Алгоритм решения этой задачи очевиден. Для вычисления среднего арифметиче­ского элементов массива требуется найти их общую сумму, после чего разделить ее на количество элементов. Порядок просмотра массива (по строкам или по стол­бцам) роли не играет. Определение количества положительных элементов каждой строки требует просмотра матрицы по строкам. Обе величины вычисляются при одном просмотре матрицы. Блок-схема этого алгоритма приведена на рис. 1.

Рис. 1. Блок-схема алгоритма решения задачи 1


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

Составляйте тестовые примеры таким образом, чтобы строки массива содержали разное количество отрицательных элементов (ни одного элемента, один и более элементов, все элементы).

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

Тем не менее, здесь следует обратить внимание на два момента:

  1. Во-первых, требу­ется еще до написания алгоритма решить, каким образом будут храниться результаты.

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

  1. Второй важный момент — место инициализации суммы и количества. Сумма об­нуляется перед циклом просмотра всей матрицы, а количество положительных элементов — перед циклом просмотра очередной строки, поскольку для каждой строки его вычисление начинается заново. Начинающие часто либо вообще забы­вают про инициализацию накапливаемых в цикле величин, либо неверно опреде­ляют ее место в программе.

СОВЕТ -

Записывайте операторы инициализации накапливаемых в цикле величин непосредственно перед циклом, в котором они вычисляются.

После ввода значений предусмотрен их контрольный вывод на экран. Для того чтобы элементы матрицы располагались один под другим, используется манипу­лятор setw(), устанавливающий для очередного выводимого значения ширину поля в четыре символа. Для использования манипулятора необходимо подключить к программе заголовочный файл <iomanip.h>. После каждой строки выводится сим­вол перевода строки endl.

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


Дата добавления: 2015-07-11; просмотров: 126 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.006 сек.)