- Создайте в своём репозитории
2022-polytech-%фамилия%
пустой файл README.md в директории03_cpp/intro
- Сделайте коммит
- Напишите программу, которая запрашивает имя пользователя и выводит его обратно в строке "Hello, %имя пользователя%!"
- Настройте cmake-проект
- Отправьте решение на GitHub
- Создайте в своём репозитории
2022-polytech-%фамилия%
пустой файл README.md в директории03_cpp/calculator
- Настройте cmake-проект
- Напишите программу, которая в бесконечном цикле считывает команды пользователя, вычисляет результат и выводит его (это REPL-режим)
- Реализуйте опреации вида
a $ b
, гдеa
иb
— вещественные числа, а$
— операции:+
,-
,*
,/
,^
(возведение в целочисленную степень) - Совет: разделите программу на несколько файлов
- Отправьте решение на GitHub
- Создайте в своём репозитории директорию
03_cpp/gcd
- Настройте cmake-проект
- Возьмите заготовку (см. ниже) и напишите программу, которая вычисляет наибольший общий делитель двух целых чисел с помощью алгоритма Евклида (см. литературу)
- В
main
выполняются проверочные запуски функцииgcd
с помощьюassert
(см. документацию). Обеспечьте корректное выполнение всех проверок
#include <iostream>
#include <cassert>
int gcd(int a, int b) {
if (a < 0) a *= -1;
if (b < 0) b *= -1;
// Решение тут
return 0;
}
int main() {
assert(gcd(0, 5) == 5);
assert(gcd(9, 0) == 9);
assert(gcd(48, 64) == 16);
assert(gcd(-64, 48) == 16);
assert(gcd(30, 18) == 6);
assert(gcd(-30, -18) == 6);
assert(gcd(270, 192) == 6);
return 0;
}
Комментарии
- В этом файле есть опечатки, вы можете их исправить через pull request.
- Всю работу удобно вести в отдельной ветке и затем влить готовый результат в основную ветку.
gcd(a, 0) = |a|
дляa ≠ 0
, так как любое число является делителем 0, а наибольший делитель числаa
это|a|
.