#include <conio.h>
#include <stdio.h>
#include <graph.h>

void main()
{
	char   buffer[80];
	short  text_color, old_text_color;
	long   background_color, old_background_color;
	struct rccoord old_pos;

	// сохраняем текущие цвета текста и фона, а также положение курсора

	old_text_color = _gettextcolor();
	old_background_color = _getbkcolor();
	old_pos = _gettextposition();

	// очищаем экран

	_clearscreen( _GCLEARSCREEN );

	// устанавливаем первые 25 из 32 возможных цветов фона

	for(background_color = 0; background_color < 26; background_color++) {
		_setbkcolor(background_color );
		_settextposition((short)background_color, 1);
		_settextcolor(1);
		sprintf(buffer, "Фон: %3d. Текст:", background_color);
		_outtext(buffer);

		// устанавливаем первые 23 из 32 возможных цветов текста

		for(text_color = 0; text_color < 24; text_color++) {
			_settextcolor(text_color);
			sprintf(buffer, " %d", text_color);
			_outtext(buffer);
		}
	}
	getch();

	// восстанавливаем цвета текста и фона, а также позицию курсора

	_settextcolor(old_text_color);
	_setbkcolor(old_background_color);
	_clearscreen(_GCLEARSCREEN);
	_settextposition(old_pos.row, old_pos.col);
}

