SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: maduco en Viernes 14 de Enero de 2011, 09:33

Título: array de strings
Publicado por: maduco en Viernes 14 de Enero de 2011, 09:33
ola alguien me podria explicar ke es un array de strings y como se acen gracias
Título: Re: array de strings
Publicado por: m0skit0 en Viernes 14 de Enero de 2011, 10:05
Esto viene en cualquier libro de C/C++.
Título: Re: array de strings
Publicado por: maduco en Viernes 14 de Enero de 2011, 10:15
se lo ke es un array y se lo ke es un string lo ke kiero saber es si es lo mismo un string ke un array de strings y en caso de ser distinto como se declara, y como funciona.
no dispongo de un libro,sino de los apuntes que nos da el profesor, si lo tuviese en un libro no preguntaria aki
Título: Re: array de strings
Publicado por: m0skit0 en Viernes 14 de Enero de 2011, 10:17
Obviamente no es lo mismo, sino no se llamaría diferente. Un array de strings es igual que un array de cualquier otro tipo de dato, sólo que con strings  :P Y libros hay por doquier en las bibliotecas y librerías, además de los libros virtuales innumerables que puedes encontrar por internet.

El caso es que aquí tienes que plantear una duda concreta para que te ayudemos, a nadie nos pagan para darte clases particulares de algo que ya está más que documentado en mil lados.
Título: Re: array de strings
Publicado por: maduco en Viernes 14 de Enero de 2011, 11:19
y no me podrias decir como se declaran por lo menos o ponerme un ejemplo para ke vea como funciona, uno ke tengas exo por ahi si no pos da =
Título: Re: array de strings
Publicado por: LapizTolita en Viernes 14 de Enero de 2011, 11:30
Primero tratá de mejorar tu escritura, a mi esta pagina me ayudo bastante http://es.wikibooks.org/wiki/Programaci ... s_de_texto (http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Arrays_y_cadenas_de_texto" onclick="window.open(this.href);return false;)
Título: Re: array de strings
Publicado por: Amilius en Viernes 14 de Enero de 2011, 22:19
Aquí tienes un ejemplo usando std::string :

Código: C++
  1.  
  2. #include <string>
  3. #include "stdio.h"
  4.  
  5. int main()
  6. {
  7.     const int MAX_CADENAS = 5;
  8.     // Arreglo de tamaño definido en tiempo de compilación
  9.     std::string cadena[MAX_CADENAS];
  10.     // Arreglo de tamaño definido en tiempo de ejecución
  11.     int max_cadena2 = MAX_CADENAS + 3;
  12.     std::string* cadena2 = new std::string[max_cadena2];
  13.  
  14.     cadena[0] = "Primera cadena";
  15.     for (int i=0; i<MAX_CADENAS; i++)
  16.     {
  17.         printf("cadena[%i]:%sn", i, cadena[i].c_str());
  18.     }
  19.  
  20.     cadena2[max_cadena2 - 1] = "Ultima cadena";
  21.     for (int i=0; i<max_cadena2; i++)
  22.     {
  23.         printf("cadena2[%i]:%sn", i, cadena2[i].c_str());
  24.     }
  25.  
  26.     // Puesto que creamos el arreglo con new debemos destruirlo con delete[].
  27.     delete[] cadena2;
  28.     return 0;
  29. }
  30.  
  31.  
Título: Re: array de strings
Publicado por: Geo en Miércoles 19 de Enero de 2011, 07:36
¿Lenguaje C o C++? Es decir, ¿un array de cadenas al estilo C o uno del tipo estándar string de C++?
Título: Re: array de strings
Publicado por: maduco en Miércoles 19 de Enero de 2011, 15:26
c
Título: Re: array de strings
Publicado por: m0skit0 en Miércoles 19 de Enero de 2011, 16:21
Código: C
  1. char* array_de_dos_strings[2];
  2.  
  3. char* ejemplo1 = "Un string";
  4. char* ejemplo2 = "Dos strings";
  5.  
  6. array_de_dos_strings[0] = (char*)malloc(strlen(ejemplo1)*sizeof(char));
  7. strcpy(array_de_dos_strings[0], ejemplo1);
  8. array_de_dos_strings[1] = (char*)malloc(strlen(ejemplo2)*sizeof(char));
  9. strcpy(array_de_dos_strings[1], ejemplo2);
  10.  
  11. int i;
  12. for (i=0; i<2; i++)
  13. {
  14.     printf("%sn", array_de_dos_strings[i]);
  15. }
  16.  
Título: Re: array de strings
Publicado por: Geo en Miércoles 19 de Enero de 2011, 17:17
En lenguaje C, una cadena es un array de tipo char. Por lo tanto, un array de cadenas es un array de arrays de tipo char, lo que es lo mismo, un array bidimensional (o una matriz) de tipo char.
Espero que el ejemplo te sirva:

Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     // Array de 10 cadenas de 63 caracteres
  7.     // (el último se usa para la marca de terminación de cadena)
  8.     char array_de_cadenas[ 10 ][ 64 ];
  9.  
  10.     int i;
  11.  
  12.     // Ingresa datos a las cadenas
  13.     for ( i = 0; i < 10; i++ )
  14.     {
  15.         sprintf( array_de_cadenas[ i ], "Soy la cadena número %d", i );
  16.     }
  17.  
  18.     // Muestra el contenido de las cadenas
  19.     for ( i = 0; i < 10; i++ )
  20.     {
  21.         printf( "Contenido de la cadena %d: %sn", i, array_de_cadenas[ i ]);
  22.     }
  23.  
  24.     return 0;
  25. }
  26.  
También es posible declarar un array de diez cadenas de esta forma:
Código: C
  1.     // También puede declararse así:
  2.     char *array_alternativo[ 10 ];  // Hay que reservar memoria para el número de caracteres de cada cadena.
  3.  
  4.  
Pero en este caso tú debes encargarte de la reserva de memoria para cada cadena (el número de caracteres que podrá almacenar) antes de poder ingresarle datos, checa el ejemplo de m0skit0 :).
Título: Re: array de strings
Publicado por: m0skit0 en Jueves 20 de Enero de 2011, 09:52
Los arrays ("vectores" en castellano) no son más que punteros con memoria reservada al fin y al cabo.
Título: Re: array de strings
Publicado por: maduco en Jueves 20 de Enero de 2011, 12:54
geo muchas gracias me as ayudado bastante yo creo que con esto ya me saldran todos los ejercicios muxisimas gracias
Título: Re: array de strings
Publicado por: m0skit0 en Jueves 20 de Enero de 2011, 16:22
Buf, ya te veo de vuelta bien pronto, me temo...  :hitcomp:  :lol:  ;)  :P