import java.util.
*;
public class Caracol
public static void main (String [] arg)
//Variables de los ciclos
int x;
int y;
int d;
//Variables de control
int j = 0;
//Variables contadoras, lectores, busqueda, bandera y de tamaño
int Numero;
int Tamaño;
int Limite;
int Contador;
int Buscador;
int Bandera;
//Variables para capturar información.
int k = 0;
int a = 0;
Scanner leer = new Scanner (System.in);
System.out.println("Este programa genera una matriz en orden de caracol y busca un número
que se encuentre ahi. ");
do
System.out.println("Por favor digite el numero mayor a 2: ");
Numero = leer.nextInt();
if (Numero < 2)
System.out.println("Numero invalido, por favor vuelva a intentarlo. ");
}while(Numero < 2);
int Matriz [][] = new int [Numero][Numero];
System.out.println("La matriz creada es de " + Numero + " x " + Numero);
Contador = 1;
Limite = Numero - 1;
Tamaño = Numero * Numero;
//Este ciclo controlará todos lo demas.
for (x = 0; x <= Tamaño; x++)
for (d = j ; d <= Limite; d++)
{
Matriz [j][d] = Contador;
Contador++;
for (d = j + 1; d <= Limite ;d++)
Matriz [d][Limite] = Contador;
Contador++;
for (d = Limite - 1; d >= j; d--)
Matriz [Limite][d] = Contador;
Contador++;
for (d = Limite - 1; d >= j + 1; d--)
Matriz [d][j] = Contador;
Contador++;
j++;
Limite--;
System.out.println("La matriz es: ");
for(x = 0; x < Numero; x++)
for (y = 0; y < Numero; y++)
{
System.out.print(Matriz [x][y] + " ");
System.out.println("\n");
do
System.out.println("Por favor digite el número que desea buscar: ");
Buscador = leer.nextInt();
if(Buscador < 0)
System.out.println("Numero no valido, vuelva a intentarlo. ");
}while (Buscador < 0);
Bandera = 0;
for (x = 0; x < Numero; x++)
for (y = 0; y < Numero; y++)
if(Buscador == Matriz [x][y])
Bandera = 1;
k = x;
a = y;
}
}
if (Bandera == 1)
System.out.println("El número digitado se encuentra en la matriz, y esta en la posición " + k +
", " + a);
}else
if(Bandera == 0)
System.out.println("El número digitado no se encuentra en la matriz. ");