Здесь размещены задания по С++, которые вы можете выполнить. Каждое задание имеет свой уровень сложности. Готовых ответов не будет, поэтому welcome в комментарии!
Easy: Задание №1
Напишите программу, которая запрашивает у пользователя строку, содержащую несколько слов. Затем выведите пользователю ту же строку, но в обратном порядке. Например:
Введите строку:
Меня зовут Анатолий!
Результат:
!Анатолий зовут Меня
Medium: Задание №2
Напишите программу, которая создает два массива и заполняет их случайными числами. Затем она должна возвратить третий массив, который содержит только общие для обоих массивов значения (без дублирований).
Hard: Задание №3
Вы, как пользователь, загадываете число от 0 до 100. Программа должна его угадать, делая предположения, а вы должны сообщать ей, является ли её число слишком большим, слишком маленьким или "Правильно, угадал!"
.
В конце программа должна вывести на экран количество предположений, которые ей потребовались для того, чтобы угадать ваше число.
Примечание: Вам, как программисту, придется выбирать стратегию угадывания компьютером числа пользователя. Самая простая стратегия заключается в переборе чисел от 0 до 100 (например: 1
, 2
, 3
и т.д.), но это очень долго. Лучшим вариантом является деление диапазона пополам:
начинаем с 50
;
если число пользователя больше, то вновь делим диапазон оставшихся чисел на 2 и добавляем к предыдущему предположению, получая, таким образом, 75
;
если число пользователя меньше, то (делим 50 на 2) указываем 25
;
и, таким образом, делим диапазон до тех пор, пока не доберемся до верного результата.
У вас также может быть и другая/своя стратегия.
Задание №1
Задание №2
Задание №3
Задание №2:
Задание №1 (правильная версия):
Задание №1:
Задание 1:
Задание 2:
Задание 3:
Задание 3
Задание 3
UserInput.h
RandNumber.h
RandNumber.cpp
Задание 2
main.cpp
RandNumber.h
RandNumber.cpp
Задание 1
Задание 3
main.cpp
RandNumber.h
RandNumber.cpp
UserInput.h
// Task № 1
Задание №3:
Моё решение задания №3:
Моё решение задания №2:
Моё решение задания №1:
Мне удалось подключить ispunct для кириллицы благодаря примерам ниже) Вот последняя версия кода для задания №1, можно только её прикрепить:
Задание №3.
у Вас нет проверки адекватности пользователя, то есть он мог загадать что-то вне рамок диапазона, у Вас после 100 и до 0 программа работает как перебор всех подряд значений, а нужно это пресекать с вердиктом. И ещё не очень хорошо, что нет гибкости для изменения данных задачи — 0, 100, 50 фигурируют как магические числа.
Но в целом работать с программой приятно, мне понравилось вот это "Вы загадали?", я как-то не додумалась до такой ёмкой фразы.
Спасибо за комментарий! Всё верно: даже за рамками оговоренных правил игры программа продолжает работать. Медленно, но продолжает)
Согласен, если по-серёзному делать, то числа диапазона вариантов надо было вынести в константы. Но так-ка программа маленькая, то решил, что комментариев будет достаточно для определения их предназначения.