Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - latinoalfredo

#11
Programación C/C++ / Estructura incompleta.
30 Octubre 2012, 23:02 PM
tengo este codigo que me da porblemas:

typedef struct {
    char cidade[20];
    double datos[365];
    int n_datos;
}T_TEMP;

    struct T_TEMP *espacio;
    espacio=(struct T_TEMP*)malloc(n*sizeof(struct T_TEMP));
    return(*espacio);

cuando quiero asignarle un espcio de memoria a "espacio",el programa me dice "error: invalid application of ���sizeof��� to incomplete type ���struct T_TEMP��� "
alguien me puede decir cual es m fallo.
#12
Programación C/C++ / Re: Vectores dinamicos
30 Octubre 2012, 22:57 PM
gracias rir3760 tu respuesta soluciono mi problema.
#13
Programación C/C++ / Re: Vectores dinamicos
30 Octubre 2012, 09:20 AM
aqui os pongo el codigo de la funcion que recibe dos de los vectores y los suma en un tercero.


void sumar(int *m1,int *m2,int fm1,int cm1)
{
    int *m3,i,j,X;
    m3=(int*)malloc(fm1*cm1*sizeof(int));
            for (i=0;i<fm1;i++)
        {
            for (j=0;j<cm1;j++)
            {
                X=*(m1+(i*fm1+j)*sizeof(int))+*(m2+(i*fm1+j)*sizeof(int));
                *(m3+(i*fm1+j)*sizeof(int))=X;
               
            }
        }
        for (i=0;i<fm1;i++)
        {
            for (j=0;j<cm1;j++)
            {
                printf ("%d ",*(m3+(i*fm1+j)*sizeof(int)));
            }
            printf ("\n");
        }

este vector m3 es el que parece que comparte un trozo de memoria con m1, ya que si les digo que imprimar todas sus posiciones el 1 y el 3 tienen 4 iguales.
#14
Programación C/C++ / Vectores dinamicos
29 Octubre 2012, 22:31 PM
hola tengo un preblema a la hora de usar vectores dinamicos en C, os cuento.
primero creo dos vectores:
int *m1,*m2;
m1=(int*)malloc(9*sizeof(int));
m2=(int*)malloc(9*sizeof(int));
les asigno valeros y compruevo que no hay problema, entonces creo un tercer vector
int *m3;
m2=(int*)malloc(9*sizeof(int));
Cuando empece a usarlos me empezaron a dar problemas y descubri un problema.El primer vector y el tercero tenian 4 espacios en comun en la asignacion de la memoria, con lo cual lo que ponia en la posicion 6 del primero de me ponia tambien en la 1 del 3. Como es esto posible si estan bien declarados.
Posdata: para avanzar en un vector uso un buble y avanzo en el vector con (m3+i*sizeof(int));
#15
Hola tengo una duda sobre un comportamiento estraño de estas funciones, cuando las invoco para que pidan datos por consola, tengo que meter los datos a la primera. Me explico si por ejemplo le pido un nombre y cometo un error al teclearlo y borro y reescribo, el scanf coge lo primero escrito y el gets me coge tanto lo erroneo como la parte corregida.
Mi pregunta es, hay alguna forma de que estas funciones cojan exactamente lo que hay escrito en pantalla sin importar si me equivoque y volvi a escribir.

Posdata: Estoy trabajando en C y uso el programa Netbeans.