Нужно написать программный код на C++ для рисования круга, используя уравнение Декарта, чтобы в консоль вывелся круг, который раскрашен снизу в желтый, а сверху – в синий (желательно, чтобы круг был в центре консоли)
Этот код использует циклы для прохода через каждую точку в консоли и вычисления расстояния от текущей точки до центра круга. Если расстояние меньше или равно радиусу круга, то точка находится внутри круга и ее цвет изменяется на желтый или синий в зависимости от того, в какой половине круга находится точка.
Answers & Comments
Ответ:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int radius = 10; // Радиус круга
int centerX = 40; // Координата X центра круга
int centerY = 12; // Координата Y центра круга
for (int y = 0; y < 25; y++) {
for (int x = 0; x < 80; x++) {
// Расстояние от текущей точки до центра круга
float distance = sqrt(pow(x - centerX, 2) + pow(y - centerY, 2));
if (distance <= radius) {
// Точка находится внутри круга
if (y < centerY) {
// Верхняя половина круга
cout << "\033[1;44m \033[0m"; // Синий цвет
} else {
// Нижняя половина круга
cout << "\033[1;43m \033[0m"; // Желтый цвет
}
} else {
// Точка находится за пределами круга
cout << " ";
}
}
cout << endl;
}
return 0;
}
Объяснение:
Этот код использует циклы для прохода через каждую точку в консоли и вычисления расстояния от текущей точки до центра круга. Если расстояние меньше или равно радиусу круга, то точка находится внутри круга и ее цвет изменяется на желтый или синий в зависимости от того, в какой половине круга находится точка.