С++
Дано квадратний масив. Розмір з клавіатури вводиться. Потрібно
заповнити цифрою 1 синій колір, цифрою 0 білий колір. Зробити меню для
вибору варіанту завдання
Ответы
Відповідь:
Ось приклад програми на мові С++, яка виконує вказане завдання та містить меню вибору:#include <iostream>
#include <windows.h> // бібліотека для зміни кольору консолі
using namespace std;
void setConsoleColor(int textColor, int bgColor) {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, (textColor + (bgColor * 16)));
}
int main() {
int size, choice;
// запитуємо розмір масиву
cout << "Введіть розмір квадратного масиву: ";
cin >> size;
// створюємо квадратний масив розміром size*size
int arr[size][size];
// відображаємо меню вибору
cout << "\nВиберіть варіант завдання:\n";
cout << "1. Заповнити масив за вказаною умовою\n";
cout << "2. Вихід з програми\n";
cout << "Ваш вибір: ";
cin >> choice;
switch (choice) {
case 1:
// заповнюємо масив за вказаною умовою
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if ((i + j) % 2 == 0) {
arr[i][j] = 1;
} else {
arr[i][j] = 0;
}
}
}
// виводимо масив на екран з кольоровим відображенням
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (arr[i][j] == 1) {
setConsoleColor(9, 1); // синій колір на білому фоні
} else {
setConsoleColor(15, 0); // білий колір на чорному фоні
}
cout << arr[i][j] << " ";
}
cout << endl;
}
break;
case 2:
// вихід з програми
cout << "Програма завершена" << endl;
return 0;
default:
cout << "Некоректний вибір. Спробуйте ще раз." << endl;
break;
}
return 0;
}
Ця програма запитує користувача розмір квадратного масиву, після чого виводить меню вибору. Якщо користувач вибирає перший варіант, то програма заповнює масив за вказаною умов
Пояснення:
Ответ:
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
int size;
cout << "Enter the size of the square matrix: ";
cin >> size;
int **matrix = new int *[size];
for (int i = 0; i < size; i++)
{
matrix[i] = new int[size];
}
int option;
cout << "Enter the option for filling the matrix:\n";
cout << "1. Fill with 0 and 1\n";
cout << "2. Fill with 1 and 0\n";
cin >> option;
switch (option)
{
case 1:
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
matrix[i][j] = (i + j) % 2;
}
}
break;
case 2:
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
matrix[i][j] = ((i + j) % 2) ^ 1;
}
}
break;
default:
cout << "Invalid option!\n";
return 1;
}
// Set console text color to blue or white based on matrix value
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
if (matrix[i][j] == 1)
{
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
}
else
{
SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
}
cout << matrix[i][j] << " ";
}
cout << endl;
}
// Free memory
for (int i = 0; i < size; i++)
{
delete[] matrix[i];
}
delete[] matrix;
return 0;
}