Цветные символы в си - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста как сделать чтобы каждый элемент массива был разного цвета???

Решение задачи: «Цветные символы в си»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
 
#define N 2 /* сколько первых чисел посчитать */
 
BOOL setcolor(WORD color)
{
   static HANDLE handle = NULL;
 
   if (handle == NULL)
   {
      handle = GetStdHandle(STD_OUTPUT_HANDLE);
   }
 
   return SetConsoleTextAttribute(handle, color);
}
 
int main()
{
   int A[2 * N][2 * N], B1[N][N], B2[N][N], B3[N][N], B4[N][N], i, j, k, m;
   SetConsoleOutputCP(1251);
   setcolor(7);
   printf("Начальный массив\n");
 
   for (i = 0; i < 2 * N; i++)
   {
      for (j = 0; j < 2 * N; j++)
      {
         A[i][j] = rand() % 20;
      }
   }
 
   setcolor(14);
   for (i = 0; i < 2 * N; i++)
   {
      for (j = 0; j < 2 * N; j++)
      {
         printf("%d ", A[i][j]);
      }
      printf("\n");
   }
 
   //создаем блоки от В1 до В4
   for (i = 0; i < N; i++)
      for (j = 0; j < N; j++)
      {
         B1[i][j] = A[i][j];
      }
 
   for (i = 0; i < N; i++)
      for (j = N, m = 0; j < 2 * N; j++, m++)
      {
         B2[i][m] = A[i][j];
      }
 
   for (i = N, k = 0; i < 2 * N; i++, k++)
      for (j = N, m = 0; j < 2 * N; j++, m++)
      {
         B3[k][m] = A[i][j];
      }
 
   for (i = N, k = 0; i < 2 * N; i++, k++)
      for (j = 0; j < N; j++)
      {
         B4[k][j] = A[i][j];
      }
 
   //собираем блоки в А
   for (i = 0; i < N; i++)
      for (j = 0; j < N; j++)
 
      {
         A[i][j] = B3[i][j];
      }
 
   for (i = 0; i < N; i++)
      for (j = N, k = 0; j < 2 * N; j++, k++)
      {
         A[i][j] = B4[i][k];
      }
 
   for (i = N, k = 0; i < 2 * N; i++, k++)
      for (j = N, m = 0; j < 2 * N; j++, m++)
      {
         A[i][j] = B1[k][m];
      }
 
   for (i = N, k = 0; i < 2 * N; i++, k++)
      for (j = 0; j < N; j++)
      {
         A[i][j] = B2[k][j];
      }
 
   setcolor(7);
   printf("\nПеревёрнутый массив\n");
   setcolor(14);
   for (i = 0; i < 2 * N; i++)
   {
      for (j = 0; j < 2 * N; j++)
 
      {
         printf("%d ", A[i][j]);
      }
      printf("\n");
   }
 
   getch();
   return 0;
}

Объяснение кода листинга программы

  1. Объединение двух массивов в один
  2. Создание блоков для обработки данных
  3. Обработка данных в блоках
  4. Сборка обработанных данных в новый массив
  5. Вывод нового массива на экран
  6. Получение цвета консоли
  7. Установка цвета текста
  8. Ввод данных в массив
  9. Вывод данных из массива
  10. Переворот массива
  11. Вывод перевёрнутого массива
  12. Получение цвета консоли
  13. Установка цвета текста
  14. Ввод данных в массив
  15. Вывод данных из массива
  16. Переворот массива
  17. Вывод перевёрнутого массива
  18. Получение цвета консоли
  19. Установка цвета текста
  20. Ввод данных в массив

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы