1. выбери на правой панели вид инструмента 2. выбери нужный инструмент на панели инструментов 3. если нужно выбери цвет 4. рисуй 5. если результат не понравился отмени его
#include "stdafx.h" #include "malloc.h" #include <iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { // Вводим исходные данные. int m; int n; printf ("Введите количество столбцов? m = "); cin >> m; printf ("Введите количество строк? n = "); cin >> n;
// Инициализируем другие переменные. int xMin = 0, // левая граница спирали xMax = m, // правая граница спирали (не включая ее, поэтому ниже будет использоваться xMax - 1) yMin = 0, // верхняя граница спирали yMax = n, // нижняя граница спирали (не включая ее, поэтому ниже будет использоваться yMax - 1) i = 0, // текущее число x, y; // расходный материал.
// Бесконечный цикл, пока не заполним матрицу. while (1) { // Заполняем верхний ряд слева направо. for (x = xMin; x < xMax; x++) pMatrix[x + yMin * m] = i++; // Заполнили весь верхний ряд. Подвигаем вниз верхнюю границу. yMin ++; // Если верхняя граница совпала с нижней, то заканчиваем цикл. if (yMin == yMax) break;
// Заполняем правый ряд сверху вниз. for (y = yMin; y < yMax; y++) pMatrix[xMax - 1 + y * m] = i++; // Заполнили весь правый ряд. Подвигаем налево правую границу. xMax --; // Если правая граница совпала с левой, то заканчиваем цикл. if (xMax == xMin) break;
// Заполняем нижний ряд справа налево. for (x = xMax - 1; x >= xMin; x--) pMatrix[x + (yMax - 1) * m] = i++; // Заполнили весь нижний ряд. Подвигаем вверх нижнюю границу. yMax --; // Если верхняя граница совпала с нижней, то заканчиваем цикл. if (yMin == yMax) break;
// Заполняем левый ряд снизу вверх. for (y = yMax - 1; y >= yMin; y--) pMatrix[xMin + y * m] = i++; // Заполнили весь левый ряд. Подвигаем направо левую границу. xMin ++; // Если правая граница совпала с левой, то заканчиваем цикл. if (xMax == xMin) break; // если мы все еще здесь, значит идем на очередной виток спирали.. . }
// Есть предположение, что спираль заполнена. Напечатаем ее, посмотреть.. . for (y = 0; y < n; y++) { // Печатаем строку. for (x = 0; x < m; x++) printf ("i, ", pMatrix[x + y * m]); // Переходим на другую строку. printf ("\r\n"); }
// Освобождаем память и выходим. free (pMatrix); pMatrix = 0; }
2. выбери нужный инструмент на панели инструментов
3. если нужно выбери цвет
4. рисуй
5. если результат не понравился отмени его