Matriz caracol de n x m

Iniciado por chinche, 29 Mayo 2012, 18:01 PM

0 Miembros y 1 Visitante están viendo este tema.

chinche

hey alguien me puede dcir mi error en este codigo se sicla cuan pones de 5fil y 4 col
con los demas valores si funciona.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

main()
{
clrscr();
int matriz[20][20] = {0};
int i,j=-1,k=-1;
int cont = 0;
int filas,columnas;
int val = 0;
printf("De cuantas filas deseas tu arreglo:");
scanf("%d",&filas);
printf("De cuantas columnas deseas tu arreglo:");
scanf("%d",&columnas);
do
{
++j;
++k;
for(j;j<columnas-val;++j)
   {
   ++cont;
   matriz[k][j]=cont;
   }
--j;
++k;
for(k;k<filas-val;++k)
   {
   ++cont;
   matriz[k][j]=cont;
   }
   --k;
   --j;
for(j;j>0+val;--j)
   {
   ++cont;
   matriz[k][j]=cont;
   }
for(k;k>0+val;--k)
   {
   ++cont;
   matriz[k][j]=cont;
   }
val += 1;
   }while(cont!=filas*columnas);

for(i=0;i<filas;++i)
   {
   for(j=0;j<columnas;++j)
      {
      gotoxy(j*3+10,i*3+5);
      printf("%d  ",matriz[j]);
      }
   }

   getch();

}

durasno

Hola! el problema esta en el printf, debe ser:
printf("%d  ",matriz[i][j]);
te olvidaste del subindice i

Saludos
Ahorrate una pregunta, lee el man

chinche

ok gracias
pero supongamos que lo tuviera no me corre cunado le pongo por ejemplo 4X3
espero y alguien me ayude
;D