Здесь размещены задания по С++, которые вы можете выполнить. Каждое задание имеет свой уровень сложности. Готовых ответов не будет, поэтому welcome в комментарии!
Easy: Задание №1
Напишите программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются:
расстояние до дачи (в км);
литраж бензина, который потребляет автомобиль на 100 км пробега;
цена одного литра бензина.
Пример результата выполнения программы:
Расстояние до дачи (км): 67
Расход бензина (литров на 100 км пробега): 8.5
Цена литра бензина (руб.): 50
Поездка на дачу и обратно обойдется в 284.75 руб.
Medium: Задание №2
Напишите программу вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется, если сумма покупки больше 500 руб., в 5% — если сумма покупки больше 1000 руб.
Пример результата выполнения программы:
Введите сумму покупки: 640
Вам предоставляется скидка в 3%
Сумма с учетом скидки: 620.80 руб.
Hard: Задание №3
Напишите программу, реализующую игру «Угадай число». Компьютер загадывает число от 0
до 999
(используйте генерацию случайных чисел), а пользователь угадывает его. На каждом шаге угадывающий делает предположение, а задумавший число — сообщает, сколько цифр из числа угаданы и сколько из угаданных цифр занимают правильные позиции в числе. Например, если задумано число 725
и выдвинуто предположение, что задумано число 523
, то угаданы две цифры (5
и 2
), и одна из них занимает верную позицию. Например:
Компьютер загадал трехзначное число. Вы должны его отгадать. После очередного числа вам будет сообщено, сколько цифр угадано и сколько из них находится на своих местах.
Ваш вариант: 123
Угадано: 0. На своих местах: 0
Ваш вариант: 456
Угадано: 1. На своих местах: 0
Ваш вариант: 654
Угадано: 2. На своих местах: 2
Ваш вариант: 657
Угадано: 2. На своих местах: 2
Ваш вариант: 658
Угадано: 3. На своих местах: 3
***Вы угадали число 658!***
Задание номер 3.
Решил завести структурку для максимального удобства, но программа получилась не маленькой, как вы это оцените?
задача 3
У вас не работает генерация случайных чисел — вернее всегда будет одно и то же число 🙂 srand(time(NULL)); и подключить заголовочный файл ctime
Погуглите, как генерируются случайные числа.
Ну и дальше — если вместо "случайного" числа 478, присвоить int secret = 222, то при введении варианта 223 мы получим 6 совпадений и — 2 корректные позиции что как бы не совсем по условию задачи.
задание №3
Задача 1 (простенькое решение)
Задача 1
Задание №3:
Задание №2:
Задание №1:
Третья задача.
3-е Задание
Задание 3
1 задание:
2 задание:
3 задание: ух и поело мне мозг оно
// 3е задание
Хорошее решение, можно ещё через две unordered_map, в которых ключ — цифра, а значение — количество таковых в загаданном и предполагаемом числах, необходимость использования std::unique и std::string::resize отпадёт, можно будет сразу итерироваться по мапе с предполагаемым числом и смотреть, сколько first-цифр этой мапы есть в second-счётчике мапы с загаданным числом. Но тут идёт нагрузка на память, а в Вашем — на скорость, и потому оба решения по-своему хороши.
Програма не совсем работает
Пусть ПК получил 221, если я отвечу 225, то будет:
Угадано: 1. Соответствует своим разрядам: 2
Что не соответствует действительности
Задание №1
Задание №2
№3:
Задание №3:
На мой взгляд — лучшее решение. По компактности и оптимальности.
Задание №2
Задание 3
Задание №3.
Третье задание. Вроде неплохо получилось!
Сделал игру "угадай число" через класс, так что в main есть минимум кода.
Ваша программа работает не правильно!
ИГРА УГАДАЙ ЧИСЛО
У вас 7 попыток угадать число
введите 3-x значное целое число: 553
На своих местах : 1 , угадано : 5
Не может такого быть, "угадано" не может быть больше 3.
На двух компиляторах проверил программу. Работает как задумано.