• Viernes 8 de Noviembre de 2024, 23:20

Autor Tema:  Apuntadores  (Leído 976 veces)

beto1973

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Apuntadores
« en: Sábado 7 de Noviembre de 2009, 20:40 »
0
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

fabioscan

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Apuntadores
« Respuesta #1 en: Jueves 12 de Noviembre de 2009, 23:15 »
0
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!

beto1973

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Apuntadores
« Respuesta #2 en: Sábado 14 de Noviembre de 2009, 20:25 »
0
Muy agradecido por la respuesta

Saludos.