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

  Юрий  | 

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

 22429

 ǀ   29 

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

Easy: Задание №1

Напишите программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их среднее арифметическое.

Пример результата выполнения программы:

*** Случайные числа ***
1 3 4 2 7 4 9 6 2 1
Среднее арифметическое: 3.9

Medium: Задание №2


Целочисленный массив заполняется девятью рандомными элементами. Поменяйте местами максимальный и минимальный элементы массива.

Hard: Задание №3

Напишите интерактивный учебник биологии (контрольно-обучающая система). Он должен спрашивать у пользователя в случайном порядке 5 вопросов по биологии. Например:

Вопрос №1: "Что такое курица?"
Варианты ответа:
1) Рыба
2) Насекомое
3) Птица
4) Земноводное
5) Растение
Ваш выбор: 3
Верно! Правильный ответ — "Птица".

После опроса поставьте пользователю оценку.


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

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

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

  1. Finchi:

    Задание №3:

  2. Антон:

    задание 1

  3. WAR:

    Задание №2:

  4. WAR:

    Задание №1:

  5. Rock:

    Задание 1:

    Задание 2:

    Задание 3:

    main.cpp

    Quiz.h

  6. Максим:

    Задание 3

    main.cpp

    Animals.h

    Animals.cpp

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

    Моё решение задания №3 (я не старалась, можно сделать лучше):

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

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

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

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

  10. RockNRullz:

    Задание №3:

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

      Может быть так и можно, просто я уже забыла, но мне показалось странным, что Вы задали текст и варианты ответа как константы (пустые строки), но в то же время в другом методе присваиваете им значения.
      Потом — почему нет проверки корректности ответа? У меня её тоже нет, но тогда нужно по крайней мере сообщить пользователю, что от него ждут именно номер ответа.
      Ещё по мелочи: объект класса нужно всегда передавать по ссылке, а если не собираетесь его менять — то по константной ссылке. И просто числа тоже нужно передавать как константы, если в функции не предполагается их изменение. Вы это упустили, например, в функции corrAnswer(). А ещё мне кажется, что не надо было под каждый ответ заводить по члену-переменной в классе, можно было обойтись текстом вопроса с ответами.
      А вообще, спасибо за std::shuffle(), полезная штука.

  11. Shom:

    Задание №3.

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

      Мне понравились Ваши оценки, прям посмеялась))

  12. Shom:

    Задание №2.

  13. Shom:

    Задание №1

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

      а разве можно использовать srand(time(0)) и rand() без

      ?

      1. Shom:

        Да. Если у вас компилятор не старый, то тоже будет работать без подключения библиотек. Сейчас многое в стандартную библиотеку включено: например <string> тоже подключения не требует уже.

  14. Алена:

    Задача 2.

  15. Владимир:

  16. Владимир:

  17. Алена:

    Задача 1.

  18. Юлия:

    №1

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

      почему char YesNo(), а не bool YesNo()? ведь тогда компилятор за вас выполняет неявное преобразование…
      из зачем #define MAX_NUMBER 9999999?

  19. Илья:

    Задание 2:

    1. Владимир:

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

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

        Владимир, слишком глубоко копаете. С rand() без ограничений для массива из 9 чисел вероятность дублей крайне мала.
        Мне код показался довольно симпатичным, если не считать того, что findMax и findMin на самом деле возвращают их индексы, а 9 лучше сделать константой.

  20. Илья:

    Задание №1:

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

      Можно было бы обойтись одним циклом и без массива. А 10 лучше было бы сделать константой.

Добавить комментарий для Анастасия Отменить ответ

Ваш E-mail не будет опубликован. Обязательные поля помечены *