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ú

Temas - rodrigo_103

#1
Programación C/C++ / Error!
7 Noviembre 2012, 22:41 PM
Hola, ¿como les va?
estoy haciendo un programa para copiar una lista simplemente enlazada y imprimirla, la cuestion es que me tira 2 errores que deben ser sencillos, pero no logro resolverlos..

Agradeceria mucho su ayuda.

Citar
listas.c|62|error: expected '=', ',', ';', 'asm' or '__attribute__' before 's_copy'|
listas.c||In function 'main':|
listas.c|105|warning: assignment makes pointer from integer without a cast|
||=== Build finished: 1 errors, 1 warnings ===|

#include <stdio.h>
#include <stdlib.h>

struct registro
{
    int valor;
    struct registro *sig;
};

typedef struct registro _nodo;

_nodo *crearlista(_nodo *apuntador)
{
    return (apuntador=NULL);
}

_nodo *insertarEnLista(int numero, _nodo *apuntador )
{
    _nodo *registroNuevo, *apuntadorAuxiliar;

    registroNuevo = (_nodo*)/*casteo*/ malloc(sizeof(_nodo));

    if(registroNuevo!=NULL)
    {/*lleno el nuevo nodo suelto*/
        registroNuevo->valor=numero;
        registroNuevo->sig=NULL;

        if(apuntador==NULL)
            apuntador=registroNuevo;
        else
        {
            apuntadorAuxiliar = apuntador;

            while(apuntadorAuxiliar->sig != NULL)
                apuntadorAuxiliar = apuntadorAuxiliar->sig;

            apuntadorAuxiliar->sig = registroNuevo;
        }
    }

    return apuntador;
}

void imprimirLista(_nodo *apuntador)
{
    _nodo *apuntadorAuxiliar;

    apuntadorAuxiliar=apuntador;

    printf("Contenido de la lista: inicioLista->");

    while(apuntadorAuxiliar != NULL)
    {
        printf("%d -> ", apuntadorAuxiliar->valor);
        apuntadorAuxiliar = apuntadorAuxiliar->sig;
    }
    printf("NULL\n");

    return;
}

_nodo *apuntador2 s_copy(_nodo *apuntador)
{
    _nodo *registroAuxiliar, _nodo *apuntador2 , *apuntadorAuxiliar , *apuntadorAuxiliar2;
    apuntador2*=crearlista(*apuntador2);


      if(apuntador==NULL)
            printf("la lista que copio estaba vacia");
            apuntador2=apuntador;

      else
        {
            apuntadorAuxiliar = apuntador;
            apuntadorAuxiliar2 = apuntador2;

            while(apuntadorAuxiliar->sig != NULL)
                {
                    *apuntadorAuxiliar2=*apuntadorAuxiliar;

                    apuntadorAuxiliar2=apuntadorAuxiliar2->sig;
                    apuntadorAuxiliar = apuntadorAuxiliar->sig;
                }
        }

        return apuntador2;
}


int main()
{
    _nodo *inicioLista;
    _nodo *inicioLista2;

    inicioLista=crearlista(inicioLista);
    inicioLista2=crearlista(inicioLista2);


    inicioLista = insertarEnLista(5, inicioLista);
    inicioLista = insertarEnLista(6, inicioLista);
    inicioLista = insertarEnLista(7, inicioLista);
    inicioLista = insertarEnLista(8, inicioLista);
    inicioLista = insertarEnLista(9, inicioLista);

    inicioLista2 = s_copy(inicioLista);

    imprimirLista(inicioLista2);



    return EXIT_SUCCESS;
}

#2
Programación C/C++ / ayuda programa!!
16 Septiembre 2012, 20:28 PM
hola!!
estoy haciendo un programa y por mas que llevo horas dandole vueltas no encuentro el problema. necesito ayuda!
la idea es que reciba un texto como el que sigue y lo divida en vectores, uno por cada linea

r0001023, PÉREZ Juan, Física, 8
s25418-2, DOMÍNGUEZ Domingo, Literatura, 9
w0412346, FULANO Fidel, Física, 10
q23411-t, ZUTANO Jose, Geografía, 7

lo ejecuto de la forma ./cortastring<texto.csv

y me imprime:
23411-t, ZUTANO Jose, Geografía, 7

lo cual esta bastante bien, pero me falta la "q" que hay antes de todo eso y no entiendo por que no la toma en el vector

este es el codigo:

#include <stdio.h>
#include <math.h>


int main (void)
{
/*Declaracion de variables*/
  char verif; 
  int i=0;
  char matrix [1500][80];
 
/*Carga las variables, comprobando que no termine el archivo y que no se exeda el tamaño de filas de la matriz*/   
  while(i<1500 && (verif=getchar())!=EOF)
    {fgets(matrix[i],80,stdin);

/*imprimo el vector 3 para ver si todo salio bien*/
puts(matrix[3]);
  return 0;
}
}