помогиде сделать прогу на с++
Заполнить матрицу, от левого верхнего угла по спирали: вниз - вправо - вверх - влево. 
Заполнить матрицу, от левого верхнего угла по спирали: вниз - вправо - вверх - влево. 
Вот пример обхода, но, по часовой стрелке и с выводом. Разбирайтесь. А каждый год переписывать одно и то же - скучно.
#include
#include
using namespace std;
int main() {
int const row = 8, col = 8;
int a[row][col] =
{{1, 2, 3, 4, 5, 6, 7, 8},
{28,29,30,31,32,33,34, 9},
{27,48,49,50,51,52,35,10},
{26,47,60,61,62,53,36,11},
{25,46,59,64,63,54,37,12},
{24,45,58,57,56,55,38,13},
{23,44,43,42,41,40,39,14},
{22,21,20,19,18,17,16,15}};
for (int n = 0; n < row; n++, cout
Ну берете курсор, двигаете его до столкновения с краем или с другой ячейкой, как столкнетесь - поворачиваете. Заодно номеруете ячейки.
Сейчас в школах по учебной программе то же самое в 8 или 9 классе школьники делают. Правдо в среде, чем то похожей на паскаль 
А если как следует напрячь голову - можно формулу общую вывести, значение ячейки в зависимости от номера столбца, строки и размерности матрицы. Я в свое время так и делал.
сколько денег дашь??