SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: beto1973 en Sábado 7 de Noviembre de 2009, 20:40

Título: Apuntadores
Publicado por: beto1973 en Sábado 7 de Noviembre de 2009, 20:40
Agradecere vuestra ayuda  en apuntadores en C  en lo siguiente:
struct JOTA{
   float *a; //Vector
   flota *b; //Vector
   flota c;
};
Struct JOTAS{
   JOTA *sj; //vector de JOTA
   Int dim;
};
Si se declara JOTA *x (vector) como seria la lectura y escritura del  vector x.
Si se declara JOTAS *vj (vector) como seria la lectura y escritura del vector vj.
Gracias
Saludos
Título: Re: Apuntadores
Publicado por: fabioscan en Jueves 12 de Noviembre de 2009, 23:15
yo entendi lo siguiente:
struct JOTA
{
  float *a,*b,c; //punteros a vectores que contengan numero de punto flotante y una variable c
}
//si es asi podrias usar este codigo:
main()
{
    JOTA *x;
    int cantidadDeElementos,cantidadDeElementosJota;
    scanf("%d",&cantidadDeElementos);
    scanf("%d",&cantidadDeElementosJota);
    x->a = (float*)malloc(sizeof(float)*cantidadDeElementos);
    x->b = (float*)malloc(sizeof(float)*cantidadDeElementos);
    //ambos vectores ahora tienen capacidad para almacenar 'cantidadDeElementos'  elementos
   //lectura de los vectores
    for(int i=0;i<cantidadDeElementos;++i)
    {
       printf("Ingrese elemento para el vector a : ");scanf("%f",x->a);
       printf("Ingrese elemento para el vector b : ");scanf("%f",x->b);
       //se ingresan 2 flotantes y se asignan a los vectores en las posiciones 'i'
    }
    //la segunda estructura JOTAS me parece un poco innecesaria
    // bien podrias hacer esto si necesitas un vector de JOTA
    JOTA *vj;
     vj = (JOTA*)malloc(sizeof(struct JOTA)*cantidadDeElementosJota);
   //y proceder de la misma forma a la lectura ya que vj es un vector de jotas y cada elemento jota contiene vectores de numeros flotantes
   //ahora el truco es que para escribir en un elemento de vj debes hacerlo de la siguiente manera
   vj[indice]->a[indiceDelVectorA] = datoAGuardar;
  //pero no te olvides de dimensionar cada vector a y b para cada elemento del vector vj
}

Saludos!
Título: Re: Apuntadores
Publicado por: beto1973 en Sábado 14 de Noviembre de 2009, 20:25
Muy agradecido por la respuesta

Saludos.