Россия и Беларусь начали и продолжают войну против народа Украины!

Часть №23: Практические задания по С++

  Юрий  | 

  Обновл. 16 Сен 2021  | 

 23145

 ǀ   41 

Здесь размещены задания по С++, которые вы можете выполнить. Каждое задание имеет свой уровень сложности. Готовых ответов не будет, поэтому welcome в комментарии!

Easy: Задание №1

Напишите программу, которая запрашивает у пользователя строку, содержащую несколько слов. Затем выведите пользователю ту же строку, но в обратном порядке. Например:

Введите строку:
Меня зовут Анатолий!
Результат:
!Анатолий зовут Меня

Medium: Задание №2


Напишите программу, которая создает два массива и заполняет их случайными числами. Затем она должна возвратить третий массив, который содержит только общие для обоих массивов значения (без дублирований).

Hard: Задание №3

Вы, как пользователь, загадываете число от 0 до 100. Программа должна его угадать, делая предположения, а вы должны сообщать ей, является ли её число слишком большим, слишком маленьким или "Правильно, угадал!".

В конце программа должна вывести на экран количество предположений, которые ей потребовались для того, чтобы угадать ваше число.

Примечание: Вам, как программисту, придется выбирать стратегию угадывания компьютером числа пользователя. Самая простая стратегия заключается в переборе чисел от 0 до 100 (например: 1, 2, 3 и т.д.), но это очень долго. Лучшим вариантом является деление диапазона пополам:

   начинаем с 50;

   если число пользователя больше, то вновь делим диапазон оставшихся чисел на 2 и добавляем к предыдущему предположению, получая, таким образом, 75;

   если число пользователя меньше, то (делим 50 на 2) указываем 25;

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

У вас также может быть и другая/своя стратегия.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (19 оценок, среднее: 4,89 из 5)
Загрузка...

Комментариев: 41

  1. Finchi:

    Задание №1

    Задание №2

    Задание №3

  2. WAR:

    Задание №2:

  3. WAR:

    Задание №1 (правильная версия):

  4. WAR:

    Задание №1:

  5. Rock:

    Задание 1:

    Задание 2:

    Задание 3:

  6. Максим:

    Задание 3

  7. Kir:

    Задание 3

    UserInput.h

    RandNumber.h

    RandNumber.cpp

  8. Kir:

    Задание 2

    main.cpp

    RandNumber.h

    RandNumber.cpp

  9. Kir:

    Задание 1

  10. Kir:

    Задание 3

    main.cpp

    RandNumber.h

    RandNumber.cpp

    UserInput.h

  11. Евгений:

    // Task № 1

  12. RockNRullz:

    Задание №3:

  13. Анастасия:

    Моё решение задания №3:

  14. Анастасия:

    Моё решение задания №2:

  15. Анастасия:

    Моё решение задания №1:

    1. Анастасия:

      Мне удалось подключить ispunct для кириллицы благодаря примерам ниже) Вот последняя версия кода для задания №1, можно только её прикрепить:

  16. Shom:

    Задание №3.

    1. Анастасия:

      у Вас нет проверки адекватности пользователя, то есть он мог загадать что-то вне рамок диапазона, у Вас после 100 и до 0 программа работает как перебор всех подряд значений, а нужно это пресекать с вердиктом. И ещё не очень хорошо, что нет гибкости для изменения данных задачи — 0, 100, 50 фигурируют как магические числа.
      Но в целом работать с программой приятно, мне понравилось вот это "Вы загадали?", я как-то не додумалась до такой ёмкой фразы.

      1. Shom:

        Спасибо за комментарий! Всё верно: даже за рамками оговоренных правил игры программа продолжает работать. Медленно, но продолжает)
        Согласен, если по-серёзному делать, то числа диапазона вариантов надо было вынести в константы. Но так-ка программа маленькая, то решил, что комментариев будет достаточно для определения их предназначения.