Skip to content

Instantly share code, notes, and snippets.

@Darklega228
Created September 12, 2024 14:56
Show Gist options
  • Save Darklega228/f4b075a24ee1ba3a2e7b6c35edd32dc2 to your computer and use it in GitHub Desktop.
Save Darklega228/f4b075a24ee1ba3a2e7b6c35edd32dc2 to your computer and use it in GitHub Desktop.
#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