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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ... 40
181  Programación / Programación C/C++ / fwrite y estructuras en: 4 Noviembre 2013, 02:14 am
Saludos

si tengo la siguiente estructura en la que tengo campos de tipo cadena y campos de tipo entero, cual es la manera para poder escribirlos en un archivo utilizando a fuerzas la funcion fwrite()??

Código
  1. typedef struct
  2. {
  3.    char nombre[MAX];
  4.    int edad;
  5.    char ciudad_residencia[MAX];
  6. }Persona;
  7.  

el problema que tengo es con el campo int me imprime basura  a la hora de escribir en el archivo:

Código
  1. int main()
  2. {
  3.    FILE *fd;
  4.    Persona p;
  5.    agregarDatos(&p);
  6.    if((fd = fopen("F:\\gente.txt","w"))!=NULL)
  7.    {
  8.        fwrite(p.nombre,sizeof(char),strlen(p.nombre),fd);
  9.        fwrite(&p.edad,sizeof(int),1,fd);// aqui esta el error
  10.        fwrite(p.ciudad_residencia,sizeof(char),strlen(p.ciudad_residencia),fd);
  11.    }
  12.    else
  13.       printf("No se pudo crear archivo\n");
  14.    return 0;
  15. }

tengo entendido que con el fprintf me puedo quitar de problemas, pero tengo que usar a fuerzas el fwrite

de antemano gracias

182  Programación / Programación C/C++ / Re: cambiar for a do-while en: 2 Noviembre 2013, 06:27 am
gracias rir3760, de hecho ya me habia fijado que la funcion no me imprime el ultimo elemento de la lista, por esto pense que era buena idea hacer un do-while() porque como la condicion se realiza al final si me imprimiria el ultimo elemento y ya despues se saldria. y pues tambien quedaria pendiente lo de verificar que no este vacia, la funcion me imprimiria correctamente si en la funcion fin cambiara el p->sig!= NULL por p!=NULL, tal como me dijiste :

Código
  1. void imprimirLista(Nodo *cabeza)
  2. {
  3.    Nodo *p,*ult;
  4.    for(p = cabeza,ult = fin(cabeza);p!=ult;p = p->sig)
  5.       printf("%d\t",p->elemento);
  6. }
  7.  
  8. Nodo *fin(Nodo *cabeza)
  9. {
  10.    Nodo *ptr = cabeza;
  11.    while(ptr!=NULL)
  12.        ptr = ptr->sig;
  13.    return ptr;
  14. }

solo que como tambien quiero hacer un CASE  para que tenga la opcion de ingresarme por el final, entonces a fuerzas tengo que hacer la comparacion while(p->sig !=NULL) porque p seria el puntero que apunta al ultimo elemento que es el que necesito para ingresar por la cola,por eso pense que necesitaba el do while a fuerzas,porque quiero que la funcion fin me regrese el puntero que en su campo siguiente tiene NULL, no se si me di a entender en esto ultimo, de todos modos gracias
183  Programación / Programación C/C++ / cambiar for a do-while en: 1 Noviembre 2013, 23:28 pm
Saludos tengo la siguiente funcion que tiene un for el cual quiero convertirlo a un do-while, pero no se bien como hacerlo

Código
  1. void imprimirLista(Nodo *cabeza)
  2. {
  3.    Nodo *p,*ult;
  4.    for(p = cabeza,ult = fin(cabeza);p!=ult;p = p->sig)
  5.    {
  6.        printf("%s\t",p->nombre);
  7.        printf("%d\t",p->edad);
  8.        printf("%s\n\n",p->ciudad_residencia);
  9.    }
  10. }
  11.  
  12. Nodo *fin(Nodo *cabeza)
  13. {
  14.    Nodo *ptr = cabeza;
  15.    while(ptr->sig!= NULL)
  16.        ptr = ptr->sig;
  17.    return ptr;
  18. }

el principal problema es que no se donde poner el p = p->sig en el do while?? probe con lo siguiente pero me marca errores

Código
  1. void imprimirLista(Nodo *cabeza)
  2. {
  3.    Nodo *p,*ult;
  4.    p = cabeza;
  5.    ult = fin(cabeza);
  6.    do
  7.    {
  8.        printf("%s\t",p->nombre);
  9.        printf("%d\t",p->edad);
  10.        printf("%s\n\n",p->ciudad_residencia);
  11.        p = p->sig;
  12.    }while(p!=ult);
  13. }

gracias
184  Programación / Programación C/C++ / Re: Duda sobre lista de un typedef struct en: 1 Noviembre 2013, 22:02 pm
Te refieres a algo como esto??

Código
  1. typedef struct archivo{
  2.    Cadena Contenido;
  3.    Cadena Atributos;
  4.    Cadena nombreArchivo;
  5. }Archivo;
  6.  
  7. typedef struct  listaArchivos{
  8.    Archivo archivos[TAM];//numero de archivos que quieras o *archivo
  9.    listaArchivos *siguiente;
  10. }Lista;
  11.  
185  Programación / Programación C/C++ / problema con do-while en: 31 Octubre 2013, 21:01 pm
Saludos

tengo que crear un programa que pida al usuario pares de números enteros y escriba su suma (con el formato "20 + 3 = 23")en pantalla y en un fichero llamado "sumas.txt", que se encontrará en un subdirectorio llamado "resultados".
  Cada vez que se ejecute el programa deberá añadir los nuevos resultados a continuación de los resultados anteriores

y el codigo es el siguiente y compila correctamente:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 10
  4. /*
  5.   Crear un programa que pida al usuario pares de números enteros y escriba su suma (con el formato "20 + 3 = 23")
  6.   en pantalla y en un fichero llamado "sumas.txt", que se encontrará en un subdirectorio llamado "resultados".
  7.   Cada vez que se ejecute el programa deberá añadir los nuevos resultados a continuación de los resultados anteriores.
  8. */
  9.  
  10. int main()
  11. {
  12.    FILE *fd;
  13.    int numero1,numero2,suma,continuar = 1;
  14.    char respuesta,cad[TAM];
  15.    if((fd = fopen("F:\\resultados\\sumas.txt","a+"))!= NULL)
  16.    {*/
  17.        do
  18.        {
  19.            printf("Dame primer numero: ");
  20.            fgets(cad,TAM,stdin);
  21.            sscanf(cad,"%d",&numero1);
  22.            printf("Dame segundo numero: ");
  23.            fgets(cad,TAM,stdin);
  24.            sscanf(cad,"%d",&numero2);
  25.            suma = numero1+numero2;
  26.            printf("%d + %d = %d",numero1,numero2,suma);
  27.            printf("\n\nDesea hacer otra suma? (S/N)\n");
  28.            fgets(cad,TAM,stdin);
  29.            sscanf(cad,"%c",&respuesta);
  30.            if(respuesta == 'N')
  31.               continuar = 0;
  32.        }while(continuar);
  33.    }
  34.    else
  35.       printf("No se pudo crear archivo\n");
  36.    return 0;
  37. }
  38.  
el problema es que si a la hora de hacerme la pregunta Desea hacer otra suma, yo quiero validar que la respuesta sea solamente o S o N, y si la respuesta es otro caracter que haga un while preguntandome si quiero otra suma hasta que el caracter sea valido, para esto le hice la siguiente modificacion al codigo pero el dowhile interior nunca se sale y no entiendo por que

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 10
  4. /*
  5.   Crear un programa que pida al usuario pares de números enteros y escriba su suma (con el formato "20 + 3 = 23")
  6.   en pantalla y en un fichero llamado "sumas.txt", que se encontrará en un subdirectorio llamado "resultados".
  7.   Cada vez que se ejecute el programa deberá añadir los nuevos resultados a continuación de los resultados anteriores.
  8. */
  9.  
  10. int main()
  11. {
  12.    FILE *fd;
  13.    int numero1,numero2,suma,continuar = 1;
  14.    char respuesta,cad[TAM];
  15.    if((fd = fopen("F:\\resultados\\sumas.txt","a+"))!= NULL)
  16.    {
  17.        do
  18.        {
  19.            printf("Dame primer numero: ");
  20.            fgets(cad,TAM,stdin);
  21.            sscanf(cad,"%d",&numero1);
  22.            printf("Dame segundo numero: ");
  23.            fgets(cad,TAM,stdin);
  24.            sscanf(cad,"%d",&numero2);
  25.            suma = numero1+numero2;
  26.            printf("%d + %d = %d",numero1,numero2,suma);
  27.            do
  28.            {
  29.                printf("\n\nDesea hacer otra suma? (S/N)\n");
  30.                fgets(cad,TAM,stdin);
  31.                sscanf(cad,"%c",&respuesta);
  32.            }while((respuesta != 'S')||(respuesta != 'N'));
  33.            if(respuesta == 'N')
  34.               continuar = 0;
  35.        }while(continuar);
  36.    }
  37.    else
  38.       printf("No se pudo crear archivo\n");
  39.    return 0;
  40. }
  41.  

de antemano gracias
186  Programación / Programación C/C++ / Re: Libreria de grafos en: 30 Octubre 2013, 05:04 am
Saludos, ya comence a hacer el codigo, primero tengo una typedef struct que me indica que voy a tener una matriz de tipo int a la que le tengo que asignar memoria dinamicamente y el numero de vertices, le pido cuantos vertices y aristas quiero, y despues inicializo el grafo, osea que cada uno de los elementos de la matriz sean -1  indicandome que no hay arista entre los vertices i y j, pero no se si esta parte y la de agregarArista estan bien hechas, exactamente esta parte:

Código
  1. void inicializaGrafo(Grafo *grafo,int num)
  2. {
  3.    int i,j,valor;
  4.    grafo->numVertices = num;
  5.    grafo->elementos = (int**)malloc(valor = num*num*sizeof(int));
  6.    for(i=0;i < num;i++)
  7.    {
  8.        for(j=0;j < num;j++)
  9.           grafo->elementos[i][j] = -1;
  10.    }
  11. }
  12.  

el codigo completo es este:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define AGREGAR_ARISTAS 1
  4. #define ELIMINAR_ARISTAS 2
  5. #define SALIR 3
  6.  
  7. typedef struct
  8. {
  9.    int **elementos;
  10.    int numVertices;
  11. }Grafo;
  12.  
  13. int max_aristas(int num);
  14. void agregarArista(int arista,int vertice1,int vertice2,Grafo *grafo);
  15.  
  16. int main()
  17. {
  18.    Grafo grafo;
  19.    int opcion,numAristas,num,continuar = 1,maximo,arista,vertice1,vertice2;
  20.    printf("Libreria de Grafos!!\n");
  21.    printf("Dame numero de vertices: ");
  22.    scanf("%d",&num);
  23.    printf("Dame numero de aristas: ");
  24.    scanf("%d",&numAristas);
  25.    maximo = max_aristas(num);
  26.    if(numAristas > maximo)
  27.       printf("Error! El grafo no puede tener mas de %d aristas",maximo);
  28.    else
  29.    {
  30.        inicializaGrafo(&grafo,num);
  31.        do
  32.        {
  33.            printf("1. Agregar Arista\n");
  34.            printf("2. Eliminar Vertice\n");
  35.            printf("3. Eliminar Arista\n");
  36.            printf("4. Salir\n\n");
  37.            scanf("%d",&opcion);
  38.            case AGREGAR_ARISTAS:
  39.               printf("Dame el valor de la arista: ");
  40.               scanf("%d",&arista);
  41.               printf("Dame el valor del primer vertice: ");
  42.               scanf("%d",&vertice1);
  43.               printf("Dame el valor del segundo vertice: ");
  44.               scanf("%d",&vertice2);
  45.               agregarArista(arista,vertice1,vertice2,&grafo);
  46.               break;
  47.            case ELIMINAR_ARISTAS:
  48.               //eliminarArista();
  49.               break;
  50.            case SALIR:
  51.               continuar = 0;
  52.               break;
  53.            default: printf("Opcion invalida\n");
  54.        }while(continuar);
  55.    }
  56.    return 0;
  57. }
  58.  
  59. int max_aristas(int num)
  60. {
  61.    int maximo;
  62.    maximo = (num(num-1))/2;
  63.    return maximo;
  64. }
  65.  
  66. void inicializaGrafo(Grafo *grafo,int num)
  67. {
  68.    int i,j,valor;
  69.    grafo->numVertices = num;
  70.    grafo->elementos = (int**)malloc(valor = num*num*sizeof(int));
  71.    for(i=0;i < num;i++)
  72.    {
  73.        for(j=0;j < num;j++)
  74.           grafo->elementos[i][j] = -1;
  75.    }
  76. }
  77.  
  78. void agregarArista(int arista,int vertice1,int vertice2,Grafo *grafo)
  79. {
  80.    grafo->elementos[vertice1][vertice2] = arista;
  81. }
  82.  

gracias
187  Programación / Programación C/C++ / Re: agenda y archivos en: 29 Octubre 2013, 21:22 pm
rir3760 pero si NULL retorna un puntero tipo void, que no se supone que void puede apuntar a cualquier tipo de dato??? y una cosa mas si en la estructura typedef tengo el campo fecha de nacimiento de esta manera:

Código
  1. ypedef struct
  2. {
  3.    int dia;
  4.    int mes;
  5.    int año;
  6. }Fecha;
  7.  
  8. typedef struct datos
  9. {
  10.    char nombre[MAX];
  11.    char direccion[MAX];
  12.    char tlf_movil[MAX];
  13.    char email[MAX];
  14.    Fecha fechaNacimiento;
  15. }Agenda;

y despues quiero agregarle la fecha de nacimiento usando el fgets y el sscanf podria ser de esta manera??
Código
  1. void agregar_Persona(Agenda persona[],int i)
  2. {
  3.    char cadena[MAX];
  4.    printf("Dame nombre:\n");
  5.    fgets(persona[i].nombre,MAX,stdin);
  6.    printf("Dame direccion:\n");
  7.    fgets(persona[i].direccion,MAX,stdin);
  8.    printf("Dame telefono movil:\n");
  9.    fgets(persona[i].tlf_movil,MAX,stdin);
  10.    printf("Dame email:\n");
  11.    fgets(persona[i].email,MAX,stdin);
  12.    printf("Dame fecha de nacimiento:\n");
  13.    fgets(cadena,MAX,stdin);
  14.    sscanf(cadena,"%d",&datos[i].fechaNacimiento.dia);
  15.    sscanf(cadena,"%d",&datos[i].fechaNacimiento.mes);
  16.    sscanf(cadena,"%d",&datos[i].fechaNacimiento.año);
  17. }
  18.  
con un solo arreglo cadena para almacenar dia mes y año aunque sean campos diferentes

gracias
188  Programación / Programación C/C++ / Re: agenda y archivos en: 29 Octubre 2013, 02:22 am
gracias rir3760 por tu respuesta, despues del ciclo do while cerre el archivo fd y volvi a abrir el mismo archivo pero ahora en modo escritura para poder escribir en el, la unica duda que me queda es por que en esta linea me aparece un warning de comparison between integer and pointer without a cast y que aun asi me compile:

la linea es esta:
Código
  1. if((strcmp(nombreBuscar,persona[j].nombre))== NULL)

y el codigo
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define AGREGAR 1
  5. #define VISUALIZAR 2
  6. #define MOSTRAR 3
  7. #define SALIR 4
  8. #define TAM 3
  9. #define MAX 45
  10. /*
  11.    Una agenda que maneje los siguientes datos: nombre, dirección, tlf móvil, email, y día, mes y año de nacimiento,
  12.    (estos tres últimos datos deberán ser números enteros cortos). Deberá tener capacidad para 100 fichas.
  13.    Se podra añadir un dato nuevo, visualizar los nombres de las fichas existentes, o mostrar los datos de una persona
  14.    (se preguntará al usuario cual es el nombre de esa persona que quiere visualizar). Al empezar el programa,
  15.    leerá los datos de un fichero llamado “agenda.dat” (si existe). Al terminar, guardará todos los datos en ese fichero.
  16. */
  17. typedef struct datos
  18. {
  19.    char nombre[MAX];
  20.    char direccion[MAX];
  21.    char tlf_movil[MAX];
  22.    char email[MAX];
  23. }Agenda;
  24.  
  25. void agregar_Persona(Agenda persona[],int i);
  26. void visualizar_Nombres(Agenda persona[],int i);
  27. void mostrar_datos(char nombreBuscar[],Agenda persona[],int i);
  28.  
  29. int main()
  30. {
  31.    int i = 0,continuar = 1,opcion;
  32.    char nombreBuscar[MAX],op[TAM];
  33.    FILE *fd,*ap;
  34.    Agenda persona[TAM];
  35.    if((fd = fopen("F:\\agenda.dat","r"))!= NULL)
  36.    {
  37.        do
  38.        {
  39.            printf("Menu\n");
  40.            printf("1)Agregar Registro\n");
  41.            printf("2)Visualizar Nombres\n");
  42.            printf("3)Mostrar datos\n");
  43.            printf("4)Salir\n");
  44.            fgets(op,TAM,stdin);
  45.            sscanf(op,"%d",&opcion);
  46.            switch(opcion)
  47.            {
  48.                case AGREGAR:
  49.                   if(i < TAM)
  50.                   {
  51.                       agregar_Persona(persona,i);
  52.                       i++;
  53.                   }
  54.                   else
  55.                      printf("No se permiten agregar mas de 100 registros");
  56.                   break;
  57.                case VISUALIZAR:
  58.                   visualizar_Nombres(persona,i);
  59.                   break;
  60.                case MOSTRAR:
  61.                   printf("Dame el nombre de la persona a mostrar: ");
  62.                   fgets(nombreBuscar,MAX,stdin);
  63.                   mostrar_datos(nombreBuscar,persona,i);
  64.                   break;
  65.                case SALIR:
  66.                   continuar = 0;
  67.                   break;
  68.                default : printf("Opcion invalida!");
  69.            }
  70.            if(continuar)
  71.            {
  72.                system("pause");
  73.                system("cls");
  74.            }
  75.        }while(continuar);
  76.    }
  77.    fclose(fd);
  78.    if((ap = fopen("F:\\agenda.dat","w"))!= NULL)
  79.       fwrite(persona,TAM,sizeof(char),ap);
  80.    return 0;
  81. }
  82.  
  83. void agregar_Persona(Agenda persona[],int i)
  84. {
  85.    char cadena[MAX];
  86.    printf("Dame nombre:\n");
  87.    fgets(persona[i].nombre,MAX,stdin);
  88.    printf("Dame direccion:\n");
  89.    fgets(persona[i].direccion,MAX,stdin);
  90.    printf("Dame telefono movil:\n");
  91.    fgets(persona[i].tlf_movil,MAX,stdin);
  92.    printf("Dame email:\n");
  93.    fgets(persona[i].email,MAX,stdin);
  94. }
  95.  
  96. void visualizar_Nombres(Agenda persona[],int i)
  97. {
  98.    int j;
  99.    for(j = 0;j < i;j++)
  100.       printf("%s\n",persona[j].nombre);
  101. }
  102.  
  103. void mostrar_datos(char nombreBuscar[],Agenda persona[],int i)
  104. {
  105.    int j,encontrado = 0;
  106.    for(j = 0;((j < i)&&(!encontrado));j++)
  107.    {
  108.        if((strcmp(nombreBuscar,persona[j].nombre))== NULL)//aqui me aparece un warning
  109.        {
  110.            printf("%s\n",persona[j].nombre);
  111.            printf("%s\n",persona[j].direccion);
  112.            printf("%s\n",persona[j].tlf_movil);
  113.            printf("%s\n",persona[j].email);
  114.            encontrado = 1;
  115.        }
  116.    }
  117. }
  118.  
189  Programación / Programación C/C++ / agenda y archivos en: 28 Octubre 2013, 23:10 pm
Saludos, tengo que crear un programa que me cree Una agenda que maneje los siguientes datos: nombre, dirección, tlf móvil, email, y día, mes y año de nacimiento, Se podra añadir un dato nuevo, visualizar los nombres de las fichas existentes, o mostrar los datos

pero hay una parte que dice: leerá los datos de un fichero llamado “agenda.dat” (si existe). Al terminar, guardará todos los datos en ese fichero. y es lo que no entiendo bien que quiere decir, como voy a leer datos de un fichero si me esta diciendo que guarde todos los datos en el fichero al final y en la parte que dice añadir un dato nuevo, se refiere a agregar una Persona a la agenda con su nombre,direccion,tel... o a inventar un nuevo dato como edad o algo asi??

Código
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #define AGREGAR 1
  4. #define VISUALIZAR 2
  5. #define MOSTRAR 3
  6. #define SALIR 4
  7. #define TAM 3
  8. #define MAX 45
  9. typedef struct datos
  10. {
  11.    char nombre[MAX];
  12.    char direccion[MAX];
  13.    char tlf_movil[MAX];
  14.    char email[MAX];/*
  15.     Fecha fechaNacimiento;*/
  16. }Agenda;
  17.  
  18. void agregar_Persona(Agenda persona[],int i);
  19. void visualizar_Nombres(Agenda persona[],int i);
  20. void mostrar_datos(char nombreBuscar[],Agenda persona[],int i);
  21.  
  22. int main()
  23. {
  24.    int i = 0,continuar = 1,opcion;
  25.    char nombreBuscar[MAX],op[TAM];
  26.    FILE *fd;
  27.    Agenda persona[TAM];/*
  28.     if((fd = fopen("F:\\agenda.dat","w"))!= NULL)
  29.     {*/
  30.        do
  31.        {
  32.            printf("Menu\n");
  33.            printf("1)Agregar Registro\n");
  34.            printf("2)Visualizar Nombres\n");
  35.            printf("3)Mostrar datos\n");
  36.            printf("4)Salir\n");
  37.            fgets(op,TAM,stdin);
  38.            sscanf(op,"%d",&opcion);
  39.            switch(opcion)
  40.            {
  41.                case AGREGAR:
  42.                   if(i < TAM)
  43.                   {
  44.                       agregar_Persona(persona,i);
  45.                       i++;
  46.                   }
  47.                   else
  48.                      printf("No se permiten agregar mas de 100 registros");
  49.                   break;
  50.                case VISUALIZAR:
  51.                   visualizar_Nombres(persona,i);
  52.                   break;
  53.                case MOSTRAR:
  54.                   printf("Dame el nombre de la persona a mostrar: ");
  55.                   fgets(nombreBuscar,MAX,stdin);
  56.                   mostrar_datos(nombreBuscar,persona,i);
  57.                   break;
  58.                case SALIR:
  59.                   continuar = 0;
  60.                   break;
  61.                default : printf("Opcion invalida!");
  62.            }
  63.            if(continuar)
  64.            {
  65.                system("pause");
  66.                system("cls");
  67.            }
  68.        }while(continuar);
  69. /*
  70.     }*/
  71.    return 0;
  72. }
  73.  
  74. void agregar_Persona(Agenda persona[],int i)
  75. {
  76.    char cadena[MAX];
  77.    printf("Dame nombre:\n");
  78.    fgets(persona[i].nombre,MAX,stdin);
  79.    printf("Dame direccion:\n");
  80.    fgets(persona[i].direccion,MAX,stdin);
  81.    printf("Dame telefono movil:\n");
  82.    fgets(persona[i].tlf_movil,MAX,stdin);
  83.    printf("Dame email:\n");
  84.    fgets(persona[i].email,MAX,stdin);
  85.    system("cls");
  86. }
  87.  
  88. void visualizar_Nombres(Agenda persona[],int i)
  89. {
  90.    int j;
  91.    for(j = 0;j < i;j++)
  92.       printf("%s\n",persona[j].nombre);
  93. }
  94.  
  95. void mostrar_datos(char nombreBuscar[],Agenda persona[],int i)
  96. {
  97.    int j;
  98.    for(j = 0;j < i;j++)
  99.    {
  100.        if((strcmp(nombreBuscar,persona[j].nombre))== NULL)
  101.        {
  102.            printf("%s\n",persona[j].nombre);
  103.            printf("%s\n",persona[j].direccion);
  104.            printf("%s\n",persona[j].tlf_movil);
  105.            printf("%s\n",persona[j].email);
  106.        }
  107.    }
  108. }
  109.  
190  Programación / Programación C/C++ / Re: Libreria de grafos en: 24 Octubre 2013, 21:49 pm
gracias rir3760 por tu respuesta, tu te refieres a almacenar los vertices con una lista ligada y las aristas con una matriz??? grafo[vertice1][vertice2] = arista, donde arista esta entre el vertice1 y el vertice2, pero si los vertices son nodos de una lista como los voy a poner como indice de una matriz??
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ... 40
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines