Estou mandando uma imagem pra entenderem melhor.
Eu sei fazer o for pra contar os números para direita, mas eu faço a menor ideia de como fazer eles continuarem pra baixo.
Eu tenho o código pronto aqui, mas eu não entendi ele, se puderem me ajudar eu agradeceria.
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
const int LIN=15;
const int COL =10;
void espiral(int m[][COL],int linha, int coluna)
{
int c=1;
int i,j;
int inic=0;
i=0;
j=0;
int max=linha*coluna;
while(c<=max)
{
for(j=inic;j<coluna;j++)
m[j]=c++;
for(i=inic+1;i<linha;i++)
m[j-1]=c++;
for(j=coluna-2;j>=inic;j--)
m[i-1][j]=c++;
for(i=linha-2;i>inic;i--)
m[j+1]=c++;
coluna--;
linha--;
inic++;
i++;
}
}
int main()
{
int m[LIN][COL];
espiral(m,LIN,COL);
for(int i=0; i<LIN; i++)
{
for(int j=0; j<COL; j++)
{
printf("%d\t",m[j]);
}
cout<<endl;
}
system ("pause");
}