Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:
27. Что делают функции-члены вектора
28. Чем объясняется полезность и популярность типа
29. Как упорядочить элементы вектора?
Термины
Упражнения
1. Выполните задание ПОПРОБУЙТЕ, если еще не сделали этого раньше.
2. Допустим, мы определяем
3. Считайте последовательности чисел типа
4. Напишите программу, угадывающую число. Пользователь должен задумать число от 1 до 100, а программа должна задавать вопросы, чтобы выяснить, какое число он задумал (например, “Задуманное число меньше 50”). Ваша программа должна уметь идентифицировать число после не более семи попыток. Подсказка: используйте операторы
5. Напишите программу, выполняющие самые простые функции калькулятора. Ваш калькулятор должен выполнять четыре основных арифметических операции — сложение, вычитание, умножение и деление. Программа должна предлагать пользователю ввести три аргумента: два значения типа
6. Создайте вектор, хранящий десять строковых значений "
7. Модифицируйте мини-калькулятор, описанный в упр. 5, так, чтобы он принимал на вход цифры, записанные в числовом или строковом формате.
8. Легенда гласит, что некий царь захотел поблагодарить изобретателя шахмат и предложил ему попросить любую награду. Изобретатель попросил положить на первую клетку одно зерно риса, на вторую — 2, на третью — 4 и т.д., удваивая количество зерен на каждой из 64 клеток. На первый взгляд это желание выглядит вполне скромным, но на самом деле в царстве не было такого количества риса! Напишите программу, вычисляющую, сколько клеток надо заполнить, чтобы изобретатель получил хотя бы 1000 зерен риса, хотя бы 1 000 000 зерен риса и хотя бы 1 000 000 000 зерен риса. Вам, разумеется, понадобится цикл и, вероятно, переменная типа
9. Попробуйте вычислить число зерен риса, запрошенных изобретателем шахмат в упр. 8. Оказывается, что это число настолько велико, что для его хранения не подходит ни тип
10. Напишите программу для игры “Камень, бумага, ножницы”. Если вы не знаете правил этой игры, попробуйте выяснить их у друзей или с помощью поисковой машины Google. Такие исследования — обычное занятие программистов. Для решения поставленной задачи используйте инструкцию
11. Напишите программу, находящую все простые числа от 1 до 100. Для этого можно написать функцию, проверяющую, является ли число простым (т.е. делится ли оно на простое число, не превосходящее данное), используя вектор простых чисел, записанный в возрастающем порядке (например, если вектор называется
12. Измените программу из предыдущего упражнения так, чтобы в нее вводилось число
13. Напишите программу, находящую все простые числа от 1 до 100. Для решения этой задачи существует классический метод “Решето Эратосфена”. Если этот метод вам неизвестен, поищите его описание в веб. Напишите программу на основе этого метода.
14. Измените программу, описанную в предыдущем упражнении, так, чтобы в нее вводилось число
15. Напишите программу, принимающую на вход число
16. В задании вам было предложено написать программу, которая по заданному набору чисел определяла бы наибольшее и наименьшее числа. Число, которое повторяется в последовательности наибольшее количество раз, называется модой. Напишите программу, определяющую моду набора положительных чисел.
17. Напишите программу, определяющую наименьшее и наибольшее числа, а также моду последовательности строк.