Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Array de arrays

Estas en el tema de Array de arrays en el foro de C/C++ en Foros del Web. Hola, necesito crear un array de arrays en C. Como lo inicializariais????? algun consejo????? Me explico: tengo que crear un array de chars en el ...
  #1 (permalink)  
Antiguo 28/03/2014, 09:39
 
Fecha de Ingreso: marzo-2014
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Pregunta Array de arrays

Hola,
necesito crear un array de arrays en C.
Como lo inicializariais????? algun consejo?????

Me explico:
tengo que crear un array de chars en el que cada posición del array corresponde con una letra del abecedario o el numero de letras.

Imaginemos :
primera vuelta de comprobaciones (1 caracter)
c[] = {"a","b","c","d","e","f",...}

segunda vuelta de comprobaciones (2 caracteres)
c[] = {"aa","ab","ac","ad","ae","af","ag",...}
c[] = {"ba","bb","bc","bd","be","bf"}
......
.......

En cada vuelta realizaría una comprobación con una cadena que tengo introducida a mano.


no tengo que guardar los valores asique no me importaría machacar el array.

Gracias de antemano.
  #2 (permalink)  
Antiguo 28/03/2014, 18:18
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Array de arrays

No entendí muy bien, de hecho los ejemplos me desconcertaron aún más

Pero basicamente puedes hacer arrays de arrays usando punteros, ya que de hecho los arrays no son mas que punteros.

Código C:
Ver original
  1. /* Array de caracteres */
  2. char *cadena;
  3. cadena = (char *)malloc(20);
  4. strcpy(cadena, "Hola mundo!");
  5.  
  6. /* Array de arrays de caracteres */
  7. char **cadenas;
  8. cadenas = (char **)malloc(20)
  9. cadenas[0] = cadena;
  10. cadenas[1] = /* ... */;
  11. cadenas[2] = /* ... */;
  12.  
  13. /* Aún quedan 16 espacios! */

O también algo así creo que también es válido:

Código C:
Ver original
  1. int array_de_arrays[3][4] = {
  2.     {1, 2, 3, 4},
  3.     {5, 6, 7, 8},
  4.     {9, 10, 11, 12}
  5. };

  #3 (permalink)  
Antiguo 02/04/2014, 05:55
Avatar de leosansan  
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años, 6 meses
Puntos: 49
Respuesta: Array de arrays

Si no he entendido mal esta es la salida que buscas:

Cita:

abcdefghijklmnopqrstuvwxyz
babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxby bz
cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcy cz
dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdy dz
eaebecedeeefegeheiejekelemeneoepeqereseteuevewexey ez
fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfy fz
gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgy gz
hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhy hz
iaibicidieifigihiiijikiliminioipiqirisitiuiviwixiy iz
jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjy jz
kakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxky kz
lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxly lz
mambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmy mz
nanbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxny nz
oaobocodoeofogohoiojokolomonooopoqorosotouovowoxoy oz
papbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpy pz
qaqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqy qz
rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxry rz
sasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsy sz
tatbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxty tz
uaubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuy uz
vavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvy vz
wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwy wz
xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxy xz
yaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyy yz
zazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzy zz
Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.   char a[26][26][3];
  5.   int i,j;
  6.   for (i=0;i<26 ;i++ ){
  7.     for (j=0;j<26 ;j++ ){
  8.       if (i==0 ){
  9.       a[i][j][0] =97+j;
  10.       a[i][j][1] ='\0';
  11.       a[i][j][2] ='\0';
  12.       }
  13.       else {
  14.         a[i][j][0] =97+i;
  15.         a[i][j][1] =97+j%26;
  16.         a[i][j][2] ='\0';
  17.       }
  18.     }
  19.   }
  20.   for (i=0;i<26 ;i++ ){
  21.     for (j=0;j<26 ;j++ )
  22.          printf("%s",a[i][j]);
  23.     putchar ('\n');
  24.   }
  25.   return 0;
  26. }

¡¡¡Saluditos!!!


Última edición por leosansan; 02/04/2014 a las 07:03

Etiquetas: arrays, int, numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.