hola amigos hoy se me ocurrió una idea y es que común mente en cualquier lenguaje de programación si queremos concatenar 2 cadenas se ase lo siguiente
Nota: puse el signo mas para que se entendiera, no me estoy refiriendo a ningún lenguaje en particular
cadena3=cadena1 + cadena2
si cadena1 vale "01234" y cadena2 vale "56789" entonces el resultado de cadena3 seria "0123456789" eso es para todos los lenguaje
ahora volbiendo al tema, si tenemos que cadena1 es igual a
"
0
1
2
3
4
"
y cadena2 es igual a
"
5
6
7
8
9
"
ahora hacemos la concatenación que no se como es y es lo que quiero que me digan si se puede, quiero que el resultado sea este
"
05
16
27
38
49
"
a eso me refiero si se puede hacer
saludos Flamer
Ningun lenguaje que conozco tiene eso por default, porque no tiene valor práctico tenerlo preconfigurado...
Usualmente lo que haces es
para i desde 0 hasta largo_texto{
Imprimir texto1[i]
Imprimir texto2[i]
Imprimir '\n'
}
es lo quiero hacer, y por que quiero ahorrarme el ciclo que tu estas asiendo
saludos Flamer
inevitablemente tiene que haber ciclo ya sea implicito o explicito... porque "vertical" implica un caracter adicional que se tiene que agregar (salto de linea) y unión de letras intercaladas antes de ese salto
es decir en lugar de ser
t1 = "abcdef"
t2 = "012345"
t3 = reservar_memoria( largo(t1) + largo(t2) + 1)
copiar_memoria(t1 en t3, empezando en 0)
copiar_memoria(t1 en t3, empezando en largo(t1))
t3 en posición largo(t1) + largo(t2) colocar \0
sería (ssabiendo que son iguales de largas
t1 = "abcdef"
t2 = "012345"
t3 = reservar_memoria( largo_cadenas*3 + 1)
t3 en posición 0 colocar t1 en posición 0
t3 en posición 1 colocar t2 en posición 0
t3 en posición 2 colocar \n
t3 en posición 3 colocar t1 en posición 1
t3 en posición 4 colocar t2 en posición 1
t3 en posición 5 colocar \n
t3 en posición 6 colocar t1 en posición 2
t3 en posición 7 colocar t2 en posición 2
t3 en posición 8 colocar \n
...etc...
creo que entiendes la diferencia... y eso sin contar el caso donde no sean iguales
Cita de: engel lex en 10 Julio 2017, 22:37 PM
porque no tiene valor práctico tenerlo preconfigurado...
no creo que tenga que ver salto ya que lo hay entre las dos cadenas
pero a lo mejor no me entiendes, tu dices que no es practico y lo que entiendo con eso de que una función así es inútil e innecesaria, pues te cuento que si lo hubiera se pudieran crear diccionarios mas largos de los que las maquinas actuales pueden hacer hoy en día.
me tomaras a loco pero por hay vi este hilo
http://foro.elhacker.net/buscador-t325748.0.html (http://foro.elhacker.net/buscador-t325748.0.html)
y pues yo quise hacer mi propio creador de diccionarios y mi meta es hacerlo con las claves mas largas posibles y es con eso con lo que estoy atorado
si estuviera esa función se pudieran crear diccionarios solo concatenando
saludos Flamer y me tomaras a loco pero en fin haya tu, solo he chale pluma
no es practico tenerlo preconfigurado, porque inflar la estructura basica del lenguaje con una función que se usa en casos muy especificos no vale la pena... tuvieramos lenguajes innecesariamente pesados, llenos de funciones factoriales, concatenaciones poco comunes, etc....
por otro lado creo que ves la dificultad que conlleva la operación, porque la que requiere ciclo si o si, ya sea implementado implícitamente o explicitamente
por cierto... necesito recordarte las matemáticas tras un "diccionario" de fuerza bruta? (un inteligente muy poco inteligente)
en tal caso aquí hay un trabajo muy bueno de kubox
https://foro.elhacker.net/buscador-t468239.0.html (https://foro.elhacker.net/buscador-t468239.0.html)
"a
b
c
d"
Esta cadena, para la utildiad que buscas, se puede convertir simplemente a "abcd", puesto que los saltos de línea serían redundantes para la utilidad que buscas.
Por tanto, "abcd" + "1234" =
"a1
b2
c3
d4"
Nuevamente, esto también sería redundante. Si buscas hacer diccionarios, los saltos de línea sobran, y sería: "a1", "b2", "c3", "d4". La primera "palabra" sería cadena1[0] + cadena2[0], sin más. Suponiendo que sea eso lo que buscas.