elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Error! en: 8 Noviembre 2012, 00:11 am
muchas gracias amigo, ya no me da mas ese problema, ahora solo obtengo la violacion de segmento de la que hablabas, en cuanto la solucione subo el codigo final, por si alguien lo precisa en el futuro. un saludo.
2  Programación / Programación C/C++ / Error! en: 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 ===|


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct registro
  5. {
  6.    int valor;
  7.    struct registro *sig;
  8. };
  9.  
  10. typedef struct registro _nodo;
  11.  
  12. _nodo *crearlista(_nodo *apuntador)
  13. {
  14.    return (apuntador=NULL);
  15. }
  16.  
  17. _nodo *insertarEnLista(int numero, _nodo *apuntador )
  18. {
  19.    _nodo *registroNuevo, *apuntadorAuxiliar;
  20.  
  21.    registroNuevo = (_nodo*)/*casteo*/ malloc(sizeof(_nodo));
  22.  
  23.    if(registroNuevo!=NULL)
  24.    {/*lleno el nuevo nodo suelto*/
  25.        registroNuevo->valor=numero;
  26.        registroNuevo->sig=NULL;
  27.  
  28.        if(apuntador==NULL)
  29.            apuntador=registroNuevo;
  30.        else
  31.        {
  32.            apuntadorAuxiliar = apuntador;
  33.  
  34.            while(apuntadorAuxiliar->sig != NULL)
  35.                apuntadorAuxiliar = apuntadorAuxiliar->sig;
  36.  
  37.            apuntadorAuxiliar->sig = registroNuevo;
  38.        }
  39.    }
  40.  
  41.    return apuntador;
  42. }
  43.  
  44. void imprimirLista(_nodo *apuntador)
  45. {
  46.    _nodo *apuntadorAuxiliar;
  47.  
  48.    apuntadorAuxiliar=apuntador;
  49.  
  50.    printf("Contenido de la lista: inicioLista->");
  51.  
  52.    while(apuntadorAuxiliar != NULL)
  53.    {
  54.        printf("%d -> ", apuntadorAuxiliar->valor);
  55.        apuntadorAuxiliar = apuntadorAuxiliar->sig;
  56.    }
  57.    printf("NULL\n");
  58.  
  59.    return;
  60. }
  61.  
  62. _nodo *apuntador2 s_copy(_nodo *apuntador)
  63. {
  64.    _nodo *registroAuxiliar, _nodo *apuntador2 , *apuntadorAuxiliar , *apuntadorAuxiliar2;
  65.    apuntador2*=crearlista(*apuntador2);
  66.  
  67.  
  68.      if(apuntador==NULL)
  69.            printf("la lista que copio estaba vacia");
  70.            apuntador2=apuntador;
  71.  
  72.      else
  73.        {
  74.            apuntadorAuxiliar = apuntador;
  75.            apuntadorAuxiliar2 = apuntador2;
  76.  
  77.            while(apuntadorAuxiliar->sig != NULL)
  78.                {
  79.                    *apuntadorAuxiliar2=*apuntadorAuxiliar;
  80.  
  81.                    apuntadorAuxiliar2=apuntadorAuxiliar2->sig;
  82.                    apuntadorAuxiliar = apuntadorAuxiliar->sig;
  83.                }
  84.        }
  85.  
  86.        return apuntador2;
  87. }
  88.  
  89.  
  90. int main()
  91. {
  92.    _nodo *inicioLista;
  93.    _nodo *inicioLista2;
  94.  
  95.    inicioLista=crearlista(inicioLista);
  96.    inicioLista2=crearlista(inicioLista2);
  97.  
  98.  
  99.    inicioLista = insertarEnLista(5, inicioLista);
  100.    inicioLista = insertarEnLista(6, inicioLista);
  101.    inicioLista = insertarEnLista(7, inicioLista);
  102.    inicioLista = insertarEnLista(8, inicioLista);
  103.    inicioLista = insertarEnLista(9, inicioLista);
  104.  
  105.    inicioLista2 = s_copy(inicioLista);
  106.  
  107.    imprimirLista(inicioLista2);
  108.  
  109.  
  110.  
  111.    return EXIT_SUCCESS;
  112. }
  113.  
  114.  
3  Programación / Programación C/C++ / Re: ayuda programa!! en: 16 Septiembre 2012, 21:58 pm
ahora funciona perfectamente!! mil gracias! :D
4  Programación / Programación C/C++ / Re: ayuda programa!! en: 16 Septiembre 2012, 21:28 pm
Muchas gracias por tu rapida y completa respuesta y la bienvenida.

ya no tengo ese problema con las letras iniciales, pero ahora, cuando imprimo un vector, por ejemplo el 0, me imprime el que corresponderia que fuera el vector 1, si pido el 1, me imprime el 3, si pido el 2 me imprime el 5, si pido el 3 el 7 y asi sucesivamente.

en el caso del codigo que sigue imprime:

q23411-t, ZUTANO Jose, Geografía, 7

Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4.  
  5. int main (void)
  6. {
  7. /*Declaracion de variables*/
  8.  int i=0;
  9.  char matrix [1500][80];
  10.  
  11. /*Carga las variables, comprobando que no termine el archivo y que no se exeda el tamaño de filas de la matriz*/  
  12.  while(i<1500 && fgets(matrix[i],80,stdin)!=NULL)
  13.    {fgets(matrix[i],80,stdin);
  14.     i++;}
  15.  
  16.  
  17. /*imprimo el vector 1 para ver si todo salio bien*/
  18. puts(matrix[1]);
  19.  return 0;
  20. }
5  Programación / Programación C/C++ / ayuda programa!! en: 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:
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4.  
  5. int main (void)
  6. {
  7. /*Declaracion de variables*/
  8.  char verif;  
  9.  int i=0;
  10.  char matrix [1500][80];
  11.  
  12. /*Carga las variables, comprobando que no termine el archivo y que no se exeda el tamaño de filas de la matriz*/  
  13.  while(i<1500 && (verif=getchar())!=EOF)
  14.    {fgets(matrix[i],80,stdin);
  15.  
  16. /*imprimo el vector 3 para ver si todo salio bien*/
  17. puts(matrix[3]);
  18.  return 0;
  19. }
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines