C/Visual C - Arreglos Bidimensionales

   
Vista:

Arreglos Bidimensionales

Publicado por Alfonso (1 intervención) el 19/05/2015 05:22:33
Hola, tengo problema para plantear la estructura de un programa que genere una sopa de letras dada la longitud de una palabra a encontrar.

En el archivo .rar está a lo que debo llegar, hasta ahora solo llevo esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h>
#include<windows.h>
 
int main()
{
int i,I,n;
 
printf("\n ESCRIBE EL TAMANO DE LA PALABRA: ");
scanf("%i", &n);
printf("\n");
 
char A[n][n];
 
printf("\n ESCRIBE UNA ORACION DE %i CARACTERES: ", n*n);
fflush(stdin);
gets(A);
printf("\n");
 
for(I=0;I<n;I++)
{
for(i=0;i<n;i++)
{
printf("[%c]",A[i][I]);
}
printf("\n");
}
 
printf("\n INGRESA LA PALABRA A BUSCAR: ");
fflush(stdin);
gets(A);
 
 system("PAUSE");
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Arreglos Bidimensionales

Publicado por Ulises (1 intervención) el 21/05/2015 01:00:41
Respuesta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include<stdio.h>
#include<windows.h>
 
int main()
{
//Declaracion de variables
int i,I,j,k,n=0;
 
//Declaracion del arreglo bidimensional
printf("\n ESCRIBE EL TAMANO DE LA PALABRA: ");
scanf("%i", &n);
printf("\n");
 
fflush(stdin);
char A[n][n]; // CADENA DE CARCATERES
char a[n];  // PALABRA UNIDIMENSIONAL
char C[n][n];  // HORIZONTALES DER- IZQ
 
//INICIO ARREGLO "B" Y "C" CON *
     for(i=0;i<n;i++)
     {
     for(j=0;j<n;j++)
     {
     C[i][j]=42;
     }
     }
 
// Recibir cadena de carcateres desde el teclado
printf("\n ESCRIBE UNA ORACION DE %i CARACTERES: ",n*n);
fflush(stdin);
gets(A);
printf("\n");
 
//Imprimir cada elemento del arereglo en pantalla (lista)
for(i=0;i<n;i++)
{
for(I=0;I<n;I++)
{
printf("\t A[%i][%i] = %c \n",i,I,A[i][I]);
}
}
 
//Imprimir cada elemento del arreglo en pantalla (cuadro)
printf("\n"); printf("\n");  printf("\n");
 
for(i=0;i<n;i++)
{
for(I=0;I<n;I++)
{
printf("[%c]",A[i][I]);
}
printf("\n");
}
printf("\n");
 
//Establecer palabra a buscar
printf("\t PALABRA A BUSCAR: ");
fflush(stdin);
gets(a);
printf("\n");
 
//Compara1
for(i=n-1; i>=0; i--)
{
for(j=n-1; j>0; j--)
{
if(A[i][j]==a[j] && a[j-1]==A[i][j-1])
{
 C[i][j]=A[i][j];
 C[i][j-1]=A[i][j-1];
}
else
{
     for(k=n-1;k>=0;k--)
     {
     C[i][k]=42;
     }
}}}
 
//Compara2
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(A[i][j]==a[j] && a[j+1]==A[i][j+1])
{
 C[i][j]=A[i][j];
 C[i][j+1]=A[i][j+1];
}
else
{
     for(k=0;k<n-1;k++)
     {
     C[i][k]=42;
     }
}}}
 
//Imprimir (lista)
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\t C[%i][%i]=%c \n",i,j,C[i][j]);
}
}
printf("\n");
 
//Imprimir (cuadro)
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("[%c]",C[i][j]);
}
printf("\n");
}
 
//Fin
printf("\n");
system("PAUSE");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar