§ 17. Массивы и структуры как параметры функций
Упражнения
1. Для задачи из примера 17.5 выполните перечисленные задания.
1. Перечислите ситуации, которые относятся к «остальным случаям» в условии задачи.
2. Измените программу так, чтобы для «остальных случаев» выводились значения и
2. Даны натуральные n, m, k целые a0, ..., an-1, b0, ..., bm-1, c0, ..., ck-1, получить:
1.
2.
3.
3. Дано натуральное n и целые x0, ..., xn – 1, y0, ..., yn – 1. Получить:
1.
2.
Запись обозначает сумму всех xi при изменении i от 0 до n – 1: x0 + x1 + ... + xn – 1.
4. Задан двумерный массив a из m строк и n столбцов. Получить линейный массив b, в котором b[i] — это:
1. Количество положительных элементов i-й строки массива a.
2. Целая часть среднего арифметического i-й строки массива a.
3. Минимальный элемент i-й строки массива a.
4. Количество чисел, модуль которых равен модулю максимального элемента i-й строки массива a.
5. Количество чисел, которые при делении на 3 и на 5 дают одинаковые остатки.
6. Число, встречающееся в i-й строке массива a чаще других чисел. Если таких чисел несколько, то взять число с меньшим номером в строке.
7. Реализовать пункты 1–6 для столбцов. Для этого транспонировать матрицу (см. пример 15.13).
5. Задан двумерный массив a из m строк и n столбцов.
- Вывести номера строк, содержащих минимальный элемент двумерного массива.
- Вывести номера строк, в которых есть равные элементы. Если таких строк нет, то вывести соответствующее сообщение.
- Вывести номера строк, в которых все элементы различны. Если таких строк нет, то вывести соответствующее сообщение.
- Вывести номера строк, суммы элементов в которых равны. Вывод осуществить в виде таблицы.
Пример |
Пояснение |
0: 1: 2, 3 2: 3 3: 4: 5 5: |
Сумма элементов первой стоки равна сумме элементов 2-й и 3-й строк, сумма элементов 2-й строки равна сумме элементов 3-й строки. Сумма элементов 4-й строки равна сумме элементов 5-й строки. Для строк 0 и 3 нет строк с равными им суммами. Для каждой строки проверяются только строки с номерами, которые больше, чем номер текущей строки. |
5. реализовать пункты 1—4 для столбцов. Для этого транспонировать матрицу (см. пример 15.13).
6. Внесите изменения в программу примера 17.8 так, чтобы программа корректно обрабатывала названия городов, состоящие более чем из одного слова (например, Старые Дороги или Нижний Новгород).
7. Создать текстовый файл описанной ниже структуры. В первой строке в текстовом файле записать количество данных. Количество данных увеличить до 10, подобрав подходящую информацию. Вывести в текстовый файл с именем otchet.txt данные, удовлетворяющие перечисленным условиям.
1. В файле хранятся: название страны[1], столица, площадь (тыс. км2) и количество населения (млн чел):
Беларусь Минск 208 9.41
Россия Москва 17075 143.3
США Вашингтон 9373 310.2
Канада Оттава 9985 34.2
Франция Париж 547 65.4
И т.д.
Найти количество стран с населением <=50 млн чел. и названия тех стран, название столицы которых состоит из k (вводится с клавиатуры) букв.
2. В файле хранятся: название производителя стиральной машины, ее модель, мощность и максимальная загрузка белья (кг).
Samsung WW65K52E69S 2400 6.5
Bosch WLT24440OE 2300 7
Haier HW70-BP12758S 1900 7
LG F12M7NDS0 1700 6
И т.д.
Найти количество стиральных машин с мощностью >2000 и названия производителей, в модель которых входит буква «х» (значение «х» вводится с клавиатуры).
3. В файле хранятся: название озера[2], область, в которой оно расположено; его объем (млн м3), площадь (км2), максимальная глубина (м) и прозрачность(м).
Нарочь Минская 710 79.6 24.8 7.4
Снуды Витебская 107 22 16.5 6.6
Ричи Витебская 131.5 12.9 51.9 5.5
Свитязь Гродненская 7.76 25.2 15 5.2
И т.д.
Найти самое глубокое и самое прозрачное озеро (вывести название и месторасположение), а также названия тех озер, которые находятся в указанной области (ввести с клавиатуры).
[1] http://ostranah.ru/ – географический справочник «О странах» (дата доступа 20.06.2020).
[2] http://rad.org.by/articles/voda/10-samyh-... и https://ru.wikipedia.org/wiki/Озёра_Белоруссии (дата доступа 20.06.2020).