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.
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ú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;
}
#include <stdio.h>
#include <math.h>
int main (void)
{
/*Declaracion de variables*/
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 && fgets(matrix[i],80,stdin)!=NULL)
{fgets(matrix[i],80,stdin);
i++;}
/*imprimo el vector 1 para ver si todo salio bien*/
puts(matrix[1]);
return 0;
}
#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;
}
}