with Ada.Text_IO;
procedure Resolucion_Crucigrama is
-- Definición de las palabras clave en horizontal y vertical
Palabra_Horizontal : constant String := "CASA";
Palabra_Vertical : constant String := "CALA";
-- Definición del crucigrama
Crucigrama : array(1..4, 1..4) of Character :=
(('C', ' ', ' ', 'A'),
('A', ' ', 'L', ' '),
('L', ' ', ' ', ' '),
('A', ' ', ' ', ' '));
begin
-- Lógica de resolución del crucigrama
-- Compara cada letra del crucigrama con las letras de las palabras clave
for Fila in 1..4 loop
for Columna in 1..4 loop
if Crucigrama(Fila, Columna) = Palabra_Horizontal(Columna) or
Crucigrama(Fila, Columna) = Palabra_Vertical(Fila) then
-- La letra coincide con una letra de una palabra clave, realiza alguna acción
-- Puedes marcar la posición, guardarla en una estructura de datos, etc.
Ada.Text_IO.Put(Crucigrama(Fila, Columna));
else
-- La letra no coincide, realiza otra acción
Ada.Text_IO.Put(' ');
end if;
end loop;
Ada.Text_IO.New_Line;
end loop;
end Resolucion_Crucigrama;