lunes, 12 de marzo de 2012

Vector de string


Para poder leer un vector de string, es decir un vector que en cada posición almacene una cadena de caracteres deberá de manejarse como una matriz la cual la cantidad de filas sera el numero de valores cadena que queramos ingresar y el número de columnas sera la cantidad de caracteres que puede almacentar cada valor, es decir si queremos almacenar 10 nombres de personas y que cada nombre tenga como maximo 30 caracteres, deberiamos de declarar nuestra matriz de la siguiente forma:

char Vnombres[10][30]

El siguiente ejemplo pedira los 10 nombres por pantalla y luego los mostrarara con el objetivo de demostrar la forma en que deben igresarse y mostrarse estos valores:


#include<stdio.h>
int main()
{
    //declaracion del arreglo de 10 posiciones y cada posicion almacenará 30 caracteres máximo
    char vnombres[10][30];
    int i=0;

   //ciclo para pedir los 10 nombres por pantalla
    for (i=0;i<10;i++)
   {
        printf("Ingrese nombre %i :",i+1);
        //note el uso de & debido a que estamos grabando el contenido en la posicion [0]   de la fila
        //esto porque recuerde que las cadenas son majenadas como punteros entonces lo que en
       //realidad tenemos es un apuntador al primer caracter de la cadena almacenada en la fila i     
        scanf("%s",&vnombres[i][0]);    
   }
   //ciclo para mostrar los 10 nombres ingresados anteriormente en la pantalla
   for (i=0;i<3;i++)
   {
       printf("los nombres ingresados son : \n");
       //note que siempre se lee y se muestra la fila correspondiente sobre la columa 0 que es la
       //posicion del primer caracter de la cadena de cada fila
       printf("%s \n",&vnombres[i][0]);
   }
   getch();
   
}