Алгоритмы (C++): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 182: | Строка 182: | ||
=== Найти сумму цифр целого числа m === | === Найти сумму цифр целого числа m === | ||
<syntaxhighlight lang="c++" line> | <syntaxhighlight lang="c++" line> | ||
+ | #include <iostream> | ||
+ | #include <windows.h> | ||
+ | int main() { | ||
+ | SetConsoleOutputCP(CP_UTF8); | ||
+ | |||
+ | int m; | ||
+ | std::cout << "Введите целое число m:"; | ||
+ | std::cin >> m; | ||
+ | |||
+ | int sum = 0; | ||
+ | int m1 = abs(m); | ||
+ | |||
+ | while (m1 > 0) { | ||
+ | sum += m1 % 10; | ||
+ | m1 /= 10; | ||
+ | } | ||
+ | |||
+ | std::cout << "Сумма цифр числа " << m << " равна " << sum << std::endl; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 07:20, 28 июня 2021
Код программ
Сумма вводимых целых чисел
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int count;
8 std::cout << "Введите число слагаемых:";
9 std::cin >> count;
10
11 int sum = 0;
12
13 for(int i = 1; i <= count; i++) {
14 int x;
15 std::cout <<"Введите слагаемое " << i << ":";
16 std::cin >> x;
17 sum += x;
18 }
19
20 std::cout << "Сумма равна " << sum << std::endl;
21 return 0;
22 }
Произведение целых чисел
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int count;
8 std::cout << "Введите число слагаемых:";
9 std::cin >> count;
10
11 int product = 1;
12
13 for(int i = 1; i <= count; i++) {
14 int x;
15 std::cout <<"Введите множитель " << i << ":";
16 std::cin >> x;
17 product *= x;
18 }
19
20 std::cout << "Произведение равно " << product << std::endl;
21 return 0;
22 }
Сколько нечетных среди n введенных
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int count = 0, n;
8 std::cout << "Введите количество чисел: ";
9 std::cin >> n;
10
11 for(int i = 1; i <= n; i++) {
12 int x;
13 std::cout <<"Введите число " << i << ":";
14 std::cin >> x;
15
16 if (x % 2 == 1) {
17 count++;
18 }
19 }
20
21 std::cout << "Количество нечетных чисел равно " << count << std::endl;
22 return 0;
23 }
Защита от неверного ввода
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int x;
8 do {
9 std::cout << "Введите x > 0: ";
10 std::cin >> x;
11 if (x <= 0) {
12 std::cout << "Неверный ввод." << std::endl;
13 }
14 } while (x <= 0);
15 }
Вывод 10 первых степеней двойки
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int x = 2;
8 for (int i = 1; i <= 10; i++) {
9 std::cout << "2 ** " << i << " = " << x << std::endl;
10 x *= 2;
11 }
12 }
Вывод всех двухзначных чисел, кратных 5
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int x = 10;
8 while (x < 100) {
9 std::cout << x << std::endl;
10 x += 5;
11 }
12 }
Вывод n первых чисел Фибоначчи
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int n, a, b;
8
9 std::cout << "Введите целое число n (n > 1): ";
10 std::cin >> n;
11
12 a = 1; b = 1;
13 std::cout << a << " " << b << " ";
14 for (int i = 1; i <= n - 2; ++i) {
15 int tmp = a;
16 a = b;
17 b += tmp;
18 std::cout << b << " ";
19 }
20 }
Найти НОД(A,B), используя алгоритм Евклида:
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int a, b;
8
9 std::cout << "Введите целое число a:";
10 std::cin >> a;
11 std::cout << "Введите целое число b:";
12 std::cin >> b;
13
14 while (b != 0) {
15 int tmp = a;
16 a = b;
17 b = tmp % b;
18 }
19
20 std::cout << "НОД(A, B) = " << a;
21 }
Найти сумму цифр целого числа m
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int m;
8 std::cout << "Введите целое число m:";
9 std::cin >> m;
10
11 int sum = 0;
12 int m1 = abs(m);
13
14 while (m1 > 0) {
15 sum += m1 % 10;
16 m1 /= 10;
17 }
18
19 std::cout << "Сумма цифр числа " << m << " равна " << sum << std::endl;
20 }