Общие замечания

Приступая к решению задач этого раздела, следует вспомнить, что:

  • массив — это структура данных, представляющая собой набор, совокупность элементов одного типа;
  • в инструкции объявления массива указывается количество элементов массива;
  • элементы массива нумеруются с нуля;
  • доступ к элементу массива осуществляется путем указания индекса (номера) элемента. В качестве индекса можно использовать выражение целого типа — константу или переменную. Индекс может меняться от 0 до я-1, где п — количество элементов массива;
  • доступ к элементам массива можно осуществить при помощи указателя;
  • в инструкции объявления массива удобно использовать именованную константу, объявленную в директиве #def ine;
  • для ввода, вывода и обработки массивов удобно использовать инструкции циклов (for, while);
  • типичной ошибкой при использовании массивов является обращение к несуществующему элементу, т. е. выход индекса за допустимое значение.

Задачи

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

Ввод массива целых чисел.
После ввода каждого числа нажмите
а[1] - > 12
а[2] - > 0
а[3] - > 3
а[4] - > -1
а[5] - > 0
В массиве
3 ненулевых элемента.

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

Поиск минимального элемента массива.
Введите в одной строке элементы массива (5 целых чисел)
и нажмите
-> 23 0 45 -5 12
Минимальный элемент массива: -5

145. Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. Для доступа
к элементам массива используйте указатель.
146. Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

Введите элементы массива (10 целых чисел) в одной строке и
нажмите .
-> 23 0 45 -5 12 0 -2 30 0 64
Сумма элементов массива: 184
Количество ненулевых элементов: 7
Среднее арифметическое ненулевых элементов: 23.86

147. Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

! Среднее арифметическое без учета min и max значений. Введите массив (10 целых чисел в одной строке) ->12 10 5 7 15 4 10 17 23 7 Минимальный элемент: 4 Максимальный элемент: 23 Среднее арифм. без учета min и max значений: 10.36

148. Написать программу, которая вычисляет среднюю (за неделю) температуру воздуха. Исходные данные должны вводиться во время работы программы. Рекомендуемый вид экрана приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом).

Введите температуру воздуха за неделю.

Понедельник -> 12
Вторник -> 10
Среда -> 16
Четверг -> 18
Пятница -> 17
Суббота -> 16
Воскресенье -> 14
Средняя температура за неделю: 14.71 град.

149. Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве. Массив должен вводиться во время работы программы.
150. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность.
151. Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.
152. Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковым значением.
153. Написать программу, которая методом прямого выбора сортирует по убыванию введенный с клавиатуры одномерный массив.
154. Написать программу, которая методом обмена ("пузырька") сортирует по убыванию введенный с клавиатуры одномерный массив.
155. Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный массив. Рекомендуемый вид экрана во время работы программы приведен ниже, данные, введенные пользователем, выделены полужирным шрифтом.

Объединение двух упорядоченных по возрастанию массивов. Введите в одной строке элементы первого массива,
(5 целых чисел) -> 1 3 5 7 9
Введите в одной строке элементы второго массива,
(5 целых чисел) -> 2 4 6 8 10 Массив — результат 123456789 10 Для завершения работы нажмите .

156. Написать программу, которая, используя метод бинарного поиска, выполняет поиск в упорядоченном по возрастанию массиве.
157. Написать программу, которая определяет количество учеников в классе, чей рост превышает средний. Рекомендуемый вид экрана во время работы программы приведен ниже. Введенные пользователем данные выделены полужирным шрифтом.

*** Анализ роста учеников ***
Введите рост (см) и нажмите .
Для завершения введите 0 и нажмите
-> 175
-> 170
-> 180
-> 168
-> 170
-> 0
Средний рост: 172.6 см
У 2 человек рост превышает средний.

158. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по столбцам.
159. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам.
160. Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества оценок. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.

Обработка результатов экзамена.
Введите исходные данные:
пятерок -> 12
четверок -> 10
троек -> 7
двоек -> 1
Результаты экзамена
пятерок 12
четверок 10
троек 7
двоек 1
Для завершения программы нажмите

161. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его элементов.
162. Написать программу, которая вычисляет определитель квадратной матрицы второго порядка. Рекомендуемый вид экрана во время работы программы приведен ниже (введенные пользователем данные выделены полужирным шрифтом).

Введите матрицу второго порядка.
После ввода элементов строки нажимайте
-> 5 -7
-> 1 3
Определитель матрицы
5.00 -7.00
1.00 3.00 Равен 22.00

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