§ 11. Структурированный тип данных массив
Упражнения
1. Напишите программу, которая запишет массив из n случайных чисел из отрезка [–10; 10] в текстовый файл. Выведите: первый элемент; последний элемент; элемент, стоящий на среднем месте.
2. Запишите в массив n строк, прочитав их из текстового файла. Выведите элементы массива в обратном порядке.
3. Для получения вещественных случайных чисел можно по отдельности получать целую и дробную части, а затем находить их сумму. Например, получить число из промежутка [0; 1) с тремя цифрами после запятой можно с помощью команды:
double x = 1. * rand() % 1000 / 1000;
Напишите программу, которая сгенерирует массив из 100 вещественных чисел и запишет их в текстовый файл. Найдите среднее арифметическое этих чисел.
4. Для массива, описанного в примере 11.6, задайте значения случайными вещественными числами из интервала (–20; 10) с одним знаком после запятой. Запишите полученные данные в текстовый файл. Выведите в другой текстовый файл значения температур для указанного диапазона дат. Вывод для диапазона дат от 1 декабря до 8 декабря может быть таким:
5. Для задачи из примера 11.24 выполните следующие задания:
1. Заполните таблицу.
N |
n |
a |
S |
P |
1 |
3 |
-2 -3 -5 |
|
|
2 |
5 |
1 2 3 4 5 |
|
|
3 |
10 |
1 -3 -2 3 4 3 2 4 3 2 |
|
|
2. Добавьте в таблицу свои значения n и a.
3.Попытайтесь подобрать такие значения элементов массива, чтобы S = P, для n = 2 и n = 5.
4. Для n = 10 ввели все элементы массива, равные 9. Какой результат получили? Почему? Что нужно исправить в программе для получения правильного результата?
6. Напишите программы, которые для заданного массива вычислят:
- .
- a0 + 2a1 + 3a2 + ... + nan – 1.
- a0*a1 + a1 * a2 + a2 * a3 + ... + an – 2 * an – 1.
- a0 – a1 + a2 – a3 +... + (–1)n - 1an – 1.
- a0 – 2a1 + 4a2 – 8a3 ... + (–2)nan – 1.
- –a0 + a1 – 2a2 + 6a3 – 24a4 ... + (n – 1)!(–1)nan – 1.
7. В ходе хоккейного матча удалялись игроки обеих команд. Для каждого удаленного игрока известно время его отсутствия на поле. Напишите программу, которая определит, какая из команд провела больше времени на скамейке штрафников.
8. Для задачи из примера 11.26 выполните следующие задания.
1. Введите число 5557. Почему появилась ошибка?
2. Дополните массив констант простыми числами так, чтобы программа могла выдавать ответ для чисел, меньших 10000. (Для этого можно воспользоваться самой программой или таблицей простых чисел.)