|
Программирование >> Структурное программирование
c) При ссылке на элемент массива номер позиции, содержаш;ейся внутри круглых скобок, называется . d) Четыре первых элемента массива р имеют следуюш;ие имена , , и . e) Наименование массива, задание его типа и указание числа элементов массива называется массива. f) Процесс размещения элементов массива в порядке возрастания или убывания их значений называется . g) В двумерном массиве первый индекс (по соглашению) определяет элемента, а второй (по соглашению) определяет элемента. h) Массив m на п содержит строк, столбцов и элементов. i) Элемент в строке 3 и столбце 5 массива имеет имя . 4.7. Определите, какие из следующих утверждений верны, а какие нет; для ошибочных утверждений объясните ошибку. a) Чтобы сослаться на конкретную ячейку или элемент внутри массива, мы указываем имя массива и значение данного элемента. b) Объявление массива резервирует для него память. c) Чтобы указать, что для массива целых чисел р должно быть зарезервировано 100 ячеек памяти, программист пишет объявление р[100] ; d) Программа на С++, присваивающая начальные нулевые значения массиву из 15 элементов, должна содержать по меньшей мере один оператор for. e) Программа на С++, которая суммирует элементы двумерного массива, должна содержать вложенные циклы for. 4.8. Напишите операторы С++ , соответствующие следующим задачам: a) Выведите на экран значение седьмого элемента символьного массива f. b) Введите значение элемента 4 одномерного массива b с плавающей запятой. c) Присвойте начальное значение 8 каждому из 5 элементов одномерного массива целых чисел g. d) Просуммируйте и напечатайте сумму 100 элементов массива g с плавающей точкой. d) Ошибка: индексирование массива сделано неверно. Исправление: изменить оператор на а[1] [1] = 5; Упражнения 4.6. Заполните пробелы в следуюш;их предложениях: a) С++ хранит списки значений в . b) Элементы массива связаны тем, что они . e) Скопируйте массив а в первую часть массива Ь. Считайте, что массивы объявлены как float а[11], Ь[34]; f) Определите и напечатайте наименьшее и наибольшее значения, содержаш;иеся в массиве w с 99 элементами с плаваюш;ей запятой. 4.9. Рассматривается массив целых чисел t размером 3 на 4. a) Напишите объявление для t. b) Сколько строк в массиве t? c) Сколько столбцов в массиве t? d) Сколько элементов в массиве t? e) Напишите имена всех элементов второй строки массива t. f) Напишите имена всех элементов третьего столбца массива t. g) Напишите один оператор, который устанавливает в нуль элемент первой строки и второго столбца массива t. h) Напишите последовательность операторов, которые присваивают нулевые начальные значения всем элементам массива t. Не используйте структуру повторения. i) Напишите вложенную структуру for, которая присваивает нулевые начальные значения всем элементам массива t. j) Напишите оператор ввода элементов массива t с клавиатуры. к) Напишите последовательность операторов, которая определяет и печатает наименьшее значение в массиве t. 1) Напишите оператор, который выводит на экран элементы первой строки массива t. m) Напишите оператор, который суммирует элементы четвертого столбца массива t. и) Напишите последовательность операторов, которая печатает массив t в табулированном формате. Перечислите индексы столбцов как заголовки вверху и индексы строк слева в каждой строке. 4.10. Используйте одномерный массив для решения следуюш;ей задачи. Компания платит своим продавцам на комиссионной основе. Продавцы получают 200 долларов в неделю плюс 9 процентов от валовой продажи за эту неделю. Например, продавец, валовая продажа которого за неделю составила 5000 долларов, получает 200 долларов плюс 9 процентов от 5000 долларов, или всего 650 долларов. Напишите программу (используя массив счетчиков), которая определяет, сколько продавцов получили заработную плату в каждом из следующих диапазонов (примем допущение, что зарплата каждого продавца округляется до целого значения): 1. $200-$299 2. $300-$399 3. $400-$499 4. $500-$599 5. $600-$699 6. $700-$799 7. $800-$899 8. $900-$999 9. $1000 и более 4.11. Пузырьковая сортировка, представленная на рис. 4.16, неэффективна для больших массивов. Выполните следующие простые модификации для улучшения эффективности пузырьковой сортировки. a) После первого прохода наибольшее число гарантированно окажется в элементе массива с наивысшим номером; после второго прохода на месте окажутся два наибольших числа и так далее. Вместо выполнения девяти сравнений на каждом проходе, модифицируйте пузырьковую сортировку так, чтобы на втором проходе было восемь сравнений, на третьем проходе - семь и так далее. b) Данные в массиве могут уже находиться в необходимом порядке, либо близком к нему, так зачем же делать девять проходов, если достаточно сделать меньше? Модифицируйте сортировку так, чтобы в конце каждого прохода проверять, были ли сделаны какие-либо перестановки. Если не было ни одной, значит, данные уже находятся в соответствующем порядке, так что программа должна завершиться. Если перестановки были сделаны, нужно сделать по меньшей мере еще один проход. 4.12. Напишите по одному оператору для выполнения следующих операций с одномерным массивом: a) Присвойте нулевые начальные значения 10 элементам массива целых чисел counts. b) Прибавьте 1 к каждому из 15 элементов массива целых чисел bonus. c) Прочитайте 12 значений массива monthlyTemperatures типа float с клавиатуры. d) Напечатайте в виде столбца 5 значений массива целых чисел bestScores. 4.13. Найдите ошибку (или ошибки) в каждом из следующих операторов: a) Допустим: char str[5]; cin >> str; Пользователь печатает hello b) Допустим: int a[3]; cout << a[l] << << a[2] a[3] << endl; c) float f[3] = {1.1, 10.01, 100.001, 1000.0001}; d) Допустим: double d[2] [10]; d[l, 9] = 2.345; 4.14. Модифицируйте программу на рис. 4.17 так, чтобы функция mode оказалась способной обрабатывать случай равного количества нескольких ответов. Модифицируйте также функцию median так, чтобы два элемента в середине усреднялись в массиве с четным количеством элементов. 4.15. Используйте одномерный массив для решения следующей задачи. Прочитайте 20 чисел, каждое из которых находится в диапазоне от 10 до 100 включительно. После того, как прочли очередное число,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |