Created
September 12, 2024 14:56
-
-
Save Darklega228/f4b075a24ee1ba3a2e7b6c35edd32dc2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <windows.h> | |
using namespace std; | |
// 1 Задание Функция для установки координат и цвета текста | |
void SetCursor(int x, int y, int color) | |
{ | |
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); | |
COORD position = { static_cast<SHORT>(x), static_cast<SHORT>(y) }; | |
SetConsoleCursorPosition(hConsole, position); | |
SetConsoleTextAttribute(hConsole, color); | |
} | |
// 2 Задание Функция для рисования линии | |
void Line(int length, char symbol, int color, bool horizontal = true) | |
{ | |
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); | |
for (int i = 0; i < length; i++) | |
{ | |
if (horizontal) | |
{ | |
cout << symbol; | |
} | |
else | |
{ | |
cout << symbol << endl; | |
} | |
} | |
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); // Сброс цвета к стандартному | |
} | |
// 3 Задание Функция для рисования прямоугольника | |
void Rectangle(int width = 10, int height = 5, char border = '#', char fill = ' ', | |
int borderColor = 15, int fillColor = 7, int x = 0, int y = 0) | |
{ | |
for (int i = 0; i < height; i++) | |
{ | |
for (int j = 0; j < width; j++) | |
{ | |
SetCursor(x + j, y + i, (i == 0 || i == height - 1 || j == 0 || j == width - 1) ? borderColor : fillColor); | |
cout << ((i == 0 || i == height - 1 || j == 0 || j == width - 1) ? border : fill); | |
} | |
} | |
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); // Сброс цвета к стандартному | |
} | |
// 4 Задание Функция, возвращающая куб числа | |
int Cube(int number) | |
{ | |
return number * number * number; | |
} | |
// 5 Задание Функция, проверяющая, является ли число простым | |
bool IsPrime(int number) | |
{ | |
if (number < 2) return false; | |
for (int i = 2; i * i <= number; i++) | |
{ | |
if (number % i == 0) return false; | |
} | |
return true; | |
} | |
// 6 Задание Функция, возвращающая сумму чисел в заданном диапазоне | |
int SumInRange(int a, int b) | |
{ | |
int sum = 0; | |
for (int i = min(a, b) + 1; i < max(a, b); i++) | |
{ | |
sum += i; | |
} | |
return sum; | |
} | |
int main() | |
{ | |
setlocale(0, ""); | |
SetCursor(10, 5, 12); // Установить курсор в позицию (10, 5) и красный цвет текста | |
cout << "Hello, World!" << endl; // Напечатать текст | |
Line(20, '@', 12, true); // Нарисовать горизонтальную линию из 20 символов '@' красного цвета | |
cout << endl; | |
Line(10, '@', 12, false); // Нарисовать вертикальную линию из 10 символов '@' красного цвета | |
Rectangle(20, 10, '#', '.', 14, 10, 30, 5); // Нарисовать прямоугольник с параметрами | |
cout << "Куб числа 3: " << Cube(3) << endl; // Вывод куба числа | |
cout << "Число 29 простое: " << (IsPrime(29) ? "Да" : "Нет") << endl; // Проверка числа на простоту | |
cout << "Сумма чисел между 3 и 8: " << SumInRange(3, 8) << endl; // Сумма чисел между 3 и 8 | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment