Matriz caracol

Iniciado por JEEM1296, 26 Noviembre 2015, 23:29 PM

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

JEEM1296

Hola que tal pueden ayudarme porfavor con un algoritmo que usando un asterisco recorra en forma de caracol de esta manera.


Código (cpp) [Seleccionar]
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>

using namespace std;
void gotoxy(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}

int caracol(int v[20][20],int n,int a,int b,int c,int g)
{
if(c==2*(n*n))
{ cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);v[a][b]=2*n*n;
}else{
if(b<((2*n)-1)-g&&a==g)
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a,b+1,c+1,g);
}else{
if((a<(n-1)-g)&&(b==(((2*n)-1)-g)))
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a+1,b,c+1,g);
}else{
if(b>g)
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a,b-1,c+1,g);
}else{
if(a>g+1){
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
if(a==g+2)
{
g=g+1;
}
caracol(v,n,a-1,b,c+1,g);
}}}}}}
int main(){
int v[20][20];
int a=0,b=0,c=1,n,g=0;
cout<<"Ingrese el n tamaño: ";cin>>n;
caracol(v,n,a,b,c,g);
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
return 0;
}


Pero ahora sin usar el gotoxy ni system("cls") ni ningun limpiador de pantalla.
estoy realizando el trabajo en codebloks
porfavor ayudaaaa   :-(

simorg

#1
@JEEM1296

Modifica tu post, no se escrbe en mayusculas, y para publicar codigo usa las etiquetas GeSHi.


Y el simbolo verde que has puesto, solo se usa cuando es un tema resuelto....

Saludos.

JEEM1296

Cita de: simorg en 26 Noviembre 2015, 23:41 PM
@JEEM1296

Modifica tu post, no se escrbe en mayusculas, y para publicar codigo usa las etiquetas GeSHi.


Y el simbolo verde que has puesto, solo se usa cuando es un tema resuelto....

Saludos.

Listo amigo ya esta modificado, soy nuevo en esto, como puedo hacer para que las personas vean esto? sera que sabes acerca dee esto que puedas ayudarme