Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга C++.doc
Скачиваний:
24
Добавлен:
10.11.2019
Размер:
2.48 Mб
Скачать

Домашнее задание

  1. Подсчитайте среднее арифметическое элементов массива. Мощность (количество элементов) массива и значения элементов задаются с клавиатуры пользователем.

  2. Подсчитайте сумму нечетных элементов массива. Мощность (количество элементов) массива и значения элементов задаются с клавиатуры пользователем.

  3. Предложите пользователю ввести с клавиатуры 15 целых чисел, сохраните их в массиве и выведите на экран номера тех элементов массива, значение которых кратно 3.

  4. Написать программу меняющую порядок следования элементов массива на противоположный (то есть первый элемент становится последним, а последний - первым; второй элемент становится предпоследним, а предпоследний - вторым и так далее) и выводящую результирующий массив на экран. Элементы массива вводятся пользователем с клавиатуры.

  5. Используйте одномерный массив для решения следующей задачи. Прочитайте 20 чисел, каждое из которых находится в диапазоне от 10 до 100 включительно. После того, как прочли очередное число, напечатайте его, но только в том случае, если оно дублирует ранее прочитанные числа. Предусмотрите "наихудший случай", когда все 20 чисел различны. Используйте наименьший возможный массив для решения этой задачи.

  6. Написать программу, которая меняет значения двух однотипных переменных без использования дополнительной переменной.

  7. "Коровы и быки". Программа "загадывает" 4-х значное число. Играющий должен угадать его. Программа сообщает сколько цифр числа угадано(быки) и сколько цифр угадано и стоит на нужном месте (коровы), то есть пользователю кроме ввода цифры необходимо также указать ее позицию в числе, загаданном компьютером. После отгадывания числа на экран необходимо вывести количество сделанных пользователем попыток.

Что такое указатели?

Шаг за шагом, занятие за занятием... Вот мы с Вами и подошли к одной из интереснейших тем, которые рассматриваются при изучении С++ - УКАЗАТЕЛИ. Указатели широко применяются в С++ - отчасти потому, что в некоторых случаях без них просто не обойтись, а отчасти потому, что программы с ними, обычно, короче и эффективнее. Наряду с goto указатели когда-то были объявлены лучшим средством для написания малопонятных программ. Так оно и есть, если ними пользоваться бездумно. При соблюдении же определенной дисциплины с помощью указателей можно достичь ясности и простоты. Мы попытаемся убедить Вас в этом.

Давайте, воспользуемся определением указателя, которое дают авторы языка С -  Брайн Керниган и  Деннис Ритчи . Указатель -это переменная, содержащая адрес переменной. Звучит хорошо, но как-то запутано... Попробуем сказать по-другому. Указатель -это переменная, содержащая адрес памяти, где расположены другие объекты (переменные, функции и т.п.). Второе определение правильней, так как в действительности указатели могут содержать не только адрес переменной, но и адреса других объектов. Язык С++ позволяет Вам определить объект, который будет содержать указатель на объекты любого основного или производного типа данных.

Для определения указателя используется символ * в определении или объявлении объекта. Синтаксис определения указателя имеет вид:

                    класс_хранения     спецификация_типа    *идентификатор;

Символ * в этом контексте означает "указатель на". Приведем несколько примеров:

int *iptr;   //Определяет указатель на целое значение

float *fvals;   //Определяет указатель на значение с плавающей точкой

char *cp;  //Описывает указатель на символ