С++
Дано квадратний масив. Розмір з клавіатури вводиться. Потрібно
заповнити цифрою 1 синій колір, цифрою 0 білий колір. Зробити меню для
вибору варіанту завдання
Ответы
#include <iostream>
using namespace std;
void printA(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = x >= y ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printB(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = x <= y ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printV(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y <= x && x + y < size ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printG(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y >= x && x + y >= size - 1 ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printD(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = (y >= x && x + y >= size - 1) || (y <= x && x + y < size) ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printE(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = (y <= x && x + y >= size - 1) || (y >= x && x + y < size) ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printJ(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y >= x && x + y < size ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printZ(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y <= x && x + y >= size - 1 ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printI(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y + x < size ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
void printK(int** array, int size) {
for (size_t y = 0; y < size; y++) {
for (size_t x = 0; x < size; x++) {
array[y][x] = y + x >= size - 1 ? 1 : 0;
cout << "[" << array[y][x] << "]";
}
cout << endl;
}
}
int main() {
const int EXAMPLE_SIZE = 5;
int** exampleArray = new int* [EXAMPLE_SIZE];
for (size_t i = 0; i < EXAMPLE_SIZE; i++)
exampleArray[i] = new int[EXAMPLE_SIZE];
setlocale(LC_ALL, "ru");
cout << "Введiть розмiр квадратного массива: ";
int size = 2;
do {
if (size < 1)
cout << "Неправильно вказано розмiр, введiть ще раз: ";
cin >> size;
} while (size < 1);
int** array = new int* [size];
for (size_t i = 0; i < size; i++)
array[i] = new int[size];
system("cls");
cout << "Двовимiрний масив створено!\n";
cout << "1:\n";
printA(exampleArray, EXAMPLE_SIZE);
cout << "2:\n";
printB(exampleArray, EXAMPLE_SIZE);
cout << "3:\n";
printV(exampleArray, EXAMPLE_SIZE);
cout << "4:\n";
printG(exampleArray, EXAMPLE_SIZE);
cout << "5:\n";
printD(exampleArray, EXAMPLE_SIZE);
cout << "6:\n";
printE(exampleArray, EXAMPLE_SIZE);
cout << "7:\n";
printJ(exampleArray, EXAMPLE_SIZE);
cout << "8:\n";
printZ(exampleArray, EXAMPLE_SIZE);
cout << "9:\n";
printI(exampleArray, EXAMPLE_SIZE);
cout << "10:\n";
printK(exampleArray, EXAMPLE_SIZE);
delete[] exampleArray;
cout << "Виберiть варiант заповнення, вказавши цифру(розмiр буде змiнено): ";
int variant = 2;
do {
if (variant < 1 || variant > 10)
cout << "Неправильно вказано розмiр, введiть ще раз: ";
cin >> variant;
} while (variant < 1 || variant > 10);
system("cls");
cout << "Ось так:\n";
switch (variant)
{
case 1:
printA(array, size);
break;
case 2:
printB(array, size);
break;
case 3:
printV(array, size);
break;
case 4:
printG(array, size);
break;
case 5:
printD(array, size);
break;
case 6:
printE(array, size);
break;
case 7:
printJ(array, size);
break;
case 8:
printZ(array, size);
break;
case 9:
printI(array, size);
break;
case 10:
printK(array, size);
break;
default:
cout << "Помилка, буде виведено варiант по замовченню(варiант \"a\").";
printA(array, size);
break;
}
delete[] array;
return 0;
}