Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Más bien una pregunta matemática ... Encontrar ramas similares


Дмитрий Д.   (2001-12-17 13:28) [0]

¿Alguien me dice el algoritmo para obtener todos los valores posibles compuestos de elementos de matriz (por ejemplo, 3x3):

qwe
asd
zxc

es decir, el resultado puede ser para la primera línea:
qwe
qwd
qwc
qse
qsd
qsc

y así sucesivamente ...
El algoritmo en sí mismo es importante, porque los valores de la matriz pueden ser letras o palabras completas

Gracias de antemano.



Виктор Щербаков   (2001-12-17 13:33) [1]

Tres bucles anidados. Uno en la primera columna, otro en la segunda, tercero en la tercera. Cual es el problema



Дмитрий Д.   (2001-12-17 13:42) [2]

esta claro
El problema es que tengo varias filas y columnas que pueden ser diferentes ...
(Tomé 3x3 por ejemplo)
por lo tanto, necesitamos un algoritmo



Виктор Щербаков   (2001-12-17 13:46) [3]

Luego iteración recursiva:
La función se llama a sí misma, pasando en calidad. número de columna de parámetro de la matriz. Y así sucesivamente hasta llegar a la última columna (o la primera). En la función en sí, obtenemos un solo bucle de columna.



Дмитрий Д.   (2001-12-17 13:59) [4]

y un pedazo de código es posible?
Pensé en la recursividad, pero no puedo entenderlo



Виктор Щербаков   (2001-12-17 14:11) [5]

Algo como esto (azotado).
El conjunto en sí está lleno de lo que necesita.

procedure TForm1.Button2Click(Sender: TObject);
var a: array[1..3, 1..3] of char;
CurLine: String;
procedure Proc1(Col: Integer);
var i: Integer;
begin
for i := 1 to 3 do
begin
if Col = 0 then
begin
Memo1.Lines.Add(CurLine);
exit;
end;
CurLine := CurLine + a[i, col];
proc1(Col - 1);
SetLength(CurLine, Length(CurLine) - 1);
end;
end;
begin
CurLine := "";
proc1(3);
end;





Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba





Memoria: 0.56 MB
Tiempo: 0.03 c
14-22363
Denso
2001-11-02 18:16
2002.01.08
Entonces ...?


3-21954
Strahov
2001-12-05 15:32
2002.01.08
¿Alguien ha encontrado un error?


7-22419
Pastor
2001-09-21 10:31
2002.01.08
¿Tengo un Celeron 800 que valga la pena actualizar al Pentium III 800?


14-22357
Viktor Scherbakov
2001-11-01 12:40
2002.01.08
Recuperacion de fotos


7-22448
Stanislas
2001-09-11 15:24
2002.01.08
Datos en disquete





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese Rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español