• Предмет: Информатика
  • Автор: Kukuwka0Ha0DepeBe
  • Вопрос задан 3 месяца назад

С++
Дано квадратний масив. Розмір з клавіатури вводиться. Потрібно
заповнити цифрою 1 синій колір, цифрою 0 білий колір. Зробити меню для
вибору варіанту завдання

Приложения:

Ответы

Ответ дал: aurri
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;

}

Приложения:
Вас заинтересует