Алгоритмы (C++): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 235: | Строка 235: | ||
=== Найти min, удовлетворяющее условию p(x) === | === Найти min, удовлетворяющее условию p(x) === | ||
<syntaxhighlight lang="c++" line> | <syntaxhighlight lang="c++" line> | ||
+ | #include <iostream> | ||
+ | #include <windows.h> | ||
+ | bool p(double x) { | ||
+ | return x > 0; | ||
+ | } | ||
+ | |||
+ | int main() { | ||
+ | SetConsoleOutputCP(CP_UTF8); | ||
+ | |||
+ | int n, x; | ||
+ | |||
+ | std::cout << "Введите количество чисел:"; | ||
+ | std::cin >> n; | ||
+ | |||
+ | bool exists = false; | ||
+ | double min = DBL_MAX; | ||
+ | for (int i = 0; i < n; ++i) { | ||
+ | std::cout << "Введите " << i+1 << " число:"; | ||
+ | std::cin >> x; | ||
+ | if ((x < min) && p(x)) { | ||
+ | min = x; | ||
+ | exists = true; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (exists) { | ||
+ | std::cout << "Минимальное из введенных чисел, удовлетворяющих условию: " << min; | ||
+ | } else { | ||
+ | std::cout << "Нет чисел, удовлетворяющих условию"; | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 07:31, 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 (m > 1):";
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 }
Найти max из введенных чисел
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int n, x;
8
9 std::cout << "Введите количество чисел (n > 1):";
10 std::cin >> n;
11
12 std::cout << "Введите число 1:";
13 std::cin >> x;
14 int max = x;
15
16 for (int i = 2; i <= n; i++) {
17 std::cout << "Введите число " << i << ":";
18 std::cin >> x;
19 if (x > max) {
20 max = x;
21 }
22 }
23
24 std::cout << "Максимальное из введенных чисел: " << max;
25 }
Найти min, удовлетворяющее условию p(x)
1 #include <iostream>
2 #include <windows.h>
3
4 bool p(double x) {
5 return x > 0;
6 }
7
8 int main() {
9 SetConsoleOutputCP(CP_UTF8);
10
11 int n, x;
12
13 std::cout << "Введите количество чисел:";
14 std::cin >> n;
15
16 bool exists = false;
17 double min = DBL_MAX;
18 for (int i = 0; i < n; ++i) {
19 std::cout << "Введите " << i+1 << " число:";
20 std::cin >> x;
21 if ((x < min) && p(x)) {
22 min = x;
23 exists = true;
24 }
25 }
26
27 if (exists) {
28 std::cout << "Минимальное из введенных чисел, удовлетворяющих условию: " << min;
29 } else {
30 std::cout << "Нет чисел, удовлетворяющих условию";
31 }
32 }
Есть ли среди введенных число k?
1 #include <iostream>
2 #include <windows.h>
3
4 int main() {
5 SetConsoleOutputCP(CP_UTF8);
6
7 int n, k, x;
8 boolean exists = false;
9
10 std::cout << "Введите количество чисел:";
11 std::cin >> n;
12
13 std::cout << "Введите искомое число:";
14 std::cin >> k;
15
16 for (int i = 1; i <= n; i++) {
17 std::cout << "Введите число " << i << ":";
18 std::cin >> x;
19 if (x == k) {
20 exists = true;
21 break;
22 }
23 }
24
25 if (exists) {
26 std::cout << "Число " << k << " было введено.";
27 } else {
28 std::cout << "Число " << k << " не было введено.";
29 }
30 }