Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Моя первая программа на С++.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

Упражнения

  1. Отредактируйте текст программы из Листинга 8.10 (глава 8) таким образом, чтобы она повторялась до тех пор, пока пользователь не пожелает прекратить ввод данных.

  2. Напишите программу, которая рассчитывает сумму 6-процентного налога на продажи для товаров, имеющих стоимость в пределах от

1 до 50 долларов, и выводит информацию на экран монитора в виде таблицы

3. Цена Налог Итого

4. 1 .06 1.06

2 .12 2.12

  1. Напишите программу, которая вводит десять чисел в пределах от 0

до 25.

  1. Напишите программу, которая выводит на дисплей следующий гра- фик:

7. * * * * *

8. * * * *

9. * * *

10. * *

11. *

12. * *

13. * * *

14. * * * *

* * * * *

15. Объясните, почему следующая программа написана неправильно:

16. main()

17. {

  1. float row, column;

  2. puts("\t\tТаблица Пифагора\n\n");

  3. for (row = 1; row <= 10; row++)

21. {

  1. for (column = 1;

  2. column <= 10; column+)

  3. printf("%d", row * column);

25. }

  1. putchar('\n');

}

Глава 10

МАССИВЫ И СТРОКИ

Переменные, с которыми вы имели дело до сих пор, могут хранить только одно значение в каждый момент времени. То есть, если вы, например, хотите узнать среднее арифметическое для 31 значения температу- ры, вам придется 31 раз ввести значение переменной, по одному за цикл, используя аккумулятор для подсчета суммы. При этом, когда вводится второе значение, первое теряется, когда вводится третье— ут- рачивается второе, и так далее. Если в программе есть соответствующие инструкции, вы будете знать сумму этих чисел и их среднее арифметическое, но исходные значения будут потеряны.

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

В этой главе рассказывается о том, как внести значения в специальную переменную, которая называется

массивом (array). Кроме того, здесь подробно описывается работа со строковыми переменными.

Массивы

Представьте себе группу людей, стоящих в очереди, например, перед входом в кинотеатр. Единственная вещь, которая объединяет этих людей,— это то, что они стоят в одной очереди. Тот факт, что кто-то из них занимает первую позицию, не говорит нам ничего об этом человеке. У нас нет оснований думать, что он проворнее, выше, или богаче, чем любой другой из стоящих за ним.

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

Массив можно представить себе в виде некоего подобия такой очереди. Массив— это множество значений, которыми можно оперировать как группой. Каждый элемент или значение в массиве является отдельной переменной, и с ней можно обращаться, как с обычной переменной, но так как эти переменные собраны в массив, их также можно трактовать как общность. И так же, как место в очереди не дает нам никакой до- полнительной информации о человеке, который его занимает, положение элемента массива не имеет ни- какого отношения к присвоенному ему значению.

Вы уже создавали и использовали массивы в форме строк. Строка и в самом деле является массивом, со- стоящим из отдельных символов. При отображении строки сообщения на дисплее функция puts() обраща- ется с массивом как с группой, но к каждому символу можно обратиться и в отдельности.

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