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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Re: Copiar caracteres en: 5 Octubre 2017, 01:14 am
con strcopy funciona, es probable que tu estés haciendo algo mal... mostrar tu codigo en este punto es un buen paso

lo he usado asi, pero se cuelga:
strcpy(ptr[0],s1[0]);
2  Programación / Programación C/C++ / Copiar caracteres en: 5 Octubre 2017, 01:04 am
Hola buenas, escribo para una duda que me ha surgido.

Si yo por ejemplo tengo los siguiente:

char *ptr[100];

char s1 [100] ="hola";


Y quiero copiar s1[0] en ptr[0],, ¿hay alguna forma de hacerlo?

Ya probé con strcpy y  strncpy y no me funciona.

Gracias de antemano.
3  Programación / Programación C/C++ / Re: Buscar Palabra en una lista en: 15 Enero 2017, 11:48 am
Si pongo aux->autor me entra solo una vez, aunque haya varios.
4  Programación / Programación C/C++ / Buscar Palabra en una lista en: 14 Enero 2017, 21:27 pm
Hola buenas, estoy haciendo una función que busca autores en una lista. Tengo la función que adjunto abajo, y no ese como comparar cada elemento de la lista con autor. Si alguien puede echarme una mano se lo agradeceria. Muchas gracias.



Código
  1. int BuscarAutor(LISTA *l, char *autor)
  2. {
  3.    NODO *aux=lista->primero;
  4.  
  5.    int i=0;
  6.  
  7.    int cuenta=0;
  8.  
  9.    if(aux==NULL)
  10.    {
  11.  
  12.        return NULL;
  13.    }
  14.    else
  15.    {
  16.  
  17.  
  18.        do {
  19.  
  20.            if(strcmp(aux,autor)==0)
  21.            {
  22.                cuenta++;
  23.  
  24.            }
  25.  
  26.  
  27.            aux=aux->siguiente;
  28.  
  29.  
  30.        }while(aux!=NULL);
  31.  
  32.        printf("Numero: %i\n",cuenta);
  33.        return NULL;
  34.  
  35.    }
  36.  
  37. }
  38.  
  39.  
5  Programación / Programación C/C++ / Quitar espacios de un cadena de caracteres en: 11 Enero 2017, 21:28 pm
Hola buenas , he creado una función que elimina espacios de una cadena, pero tengo algunas dudas a la hora de terminarla, ya que con esto no me los junta. Si alguien puede echarme una mano.. Gracias!!

Código
  1. void trim (char *cadena)
  2. {
  3.    int ini, fin;
  4.    fin=strlen(cadena)-1;
  5.    while(fin >0 && (cadena[fin]==' ' || cadena[fin]=='\t' || cadena[fin]=='\n' || cadena[fin]=='\r'))
  6.        fin--;
  7.    fin++;
  8.    cadena[fin]='\0';
  9.  
  10.    ini=0;
  11.    while(ini<fin && (cadena[ini]==' ' || cadena[ini]=='\t' || cadena[ini]=='\n' || cadena[ini]=='\r'))
  12.        ini--;
  13.  
  14.  



Los espacios son los del principio y el final solamente.
6  Programación / Programación C/C++ / Re: Pequeña duda en: 9 Enero 2017, 18:00 pm
Muchas gracias!!!
7  Programación / Programación C/C++ / Pequeña duda en: 9 Enero 2017, 17:24 pm
Hola, os escribo por un pequeña duda que me ha surgido.
No entiendo los puntos en esta línea de código:
  double b[N] = {1., 1., 1., 1.};

Gracias de antemano y saludos.
8  Programación / Programación C/C++ / Re: Viajante comercio en: 6 Septiembre 2016, 20:06 pm
He encontrado este codigo por internet pero no se porque no me hace bien los caminos,
soy principiante no me juzgueis  ;D



Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define N 4 // Numero de ciudades
  5. #define CIUDAD_ORIGEN 0
  6.  
  7.  
  8. #define TRUE (1 == 1)
  9. #define FALSE (1 != 1)
  10.  
  11. char ciudades[4] = {'0', '1', '2', '3'};
  12.  
  13. int d[4][4]={{0,20,40,60},
  14.   {30,0,50,25},
  15.            {20,25,0,50,},
  16.            {20,30,0,0}}; // Matriz de distancias
  17. int visitadas[N]; // Ciudades visitadas por el algoritmo
  18. int suma = 0; // Suma de costes
  19. int optima = 999999; // Solucion optima inicial
  20. int iteraciones = 0; // Numero de iteraciones
  21. int solucion[N]; // Vector con el trayecto realizado
  22.  
  23.  
  24.  
  25. void busqueda_profundidad (int nivel, int origen, int suma, int visitadas[]) {
  26. visitadas[origen] = TRUE;
  27. solucion[nivel - 1] = origen;
  28. iteraciones++;
  29. for (int destino = 0; destino < N; destino++) {
  30. if (visitadas[destino] == FALSE) {
  31. suma = suma + d[origen][destino];
  32. if (suma < optima) {
  33. busqueda_profundidad(nivel + 1, destino, suma, visitadas);
  34. }
  35. if (nivel == (N - 1)) {
  36. suma = suma + d[destino][CIUDAD_ORIGEN];
  37. if (suma < optima) {
  38. optima = suma;
  39. printf ("Estableciendo nueva solucion optima, coste = %6d\n", optima);
  40. printf ("Solucion = { ");
  41. for (int i = 0; i < N; i++) {
  42. printf (" %c, ", ciudades[ solucion[i] ]);
  43. }
  44. printf (" %c }\n\n", ciudades[CIUDAD_ORIGEN]);
  45. }
  46. } else {
  47. suma = suma - d[origen][destino];
  48. }
  49. visitadas[destino] = FALSE;
  50. }
  51. }
  52. }
  53.  
  54. int factorial (int n) {
  55. int f = 1;
  56. for (int i = n; i > 1; i--) {
  57. f = f * i;
  58. }
  59. return f;
  60. }
  61.  
  62. int main (void) {
  63. printf ("RESOLUCION DEL PROBLEMA DEL VIAJANTE DE COMERCIO\n");
  64. printf ("(c) Alejandro Portero Gimeno 2015\n\n");
  65.  
  66. //matriz_distancias();
  67.  
  68. for (int i = 0; i < N; i++) {
  69. visitadas[i] = FALSE;
  70. }
  71.  
  72. printf ("\nNum. ciudades = %d\n\n", N);
  73.  
  74. busqueda_profundidad (1, CIUDAD_ORIGEN, suma, visitadas);
  75.  
  76. printf ("Iteraciones            = %12d\n", iteraciones);
  77. printf ("Soluciones totales     = %12d\n", factorial(N));
  78. printf ("Soluciones descartadas = %12d\n", factorial(N) - iteraciones);
  79.  
  80. system("pause");
  81. return 0;
  82. }
  83.  

MOD EDIT: Etiquqtas GeSHi (por 2da vez).
9  Programación / Programación C/C++ / Viajante comercio en: 5 Septiembre 2016, 18:26 pm
Lo esencial del problema. Segun la matriz que he introducido, deberia calcular el minimo de la primera fila, excluyendo siempre el cero, seleccionar el 0,2 que es el minimo y borrar las columnas de ambos numeros. Luego iria a la fila 2, buscaria el minimo que esta en el 2,3 y borraria de nuevo columnas. El problema es que a partir de ahi no avanza y entra en bucle cuando deberia seguir con 3,1 y acabar.


Código
  1. int matriz[n][n];
  2. int minimo;
  3. list <int> vertice;//Subconjunto solución
  4.  
  5. /*--------------------------------------------------*/
  6. // Rellenamos matriz a ceros
  7.  
  8. for(int i=0; i<n; i++){
  9.    for(int j=0; j<n; j++){
  10.              matriz[i][j] = 0;
  11.    }
  12. }
  13.  
  14. matriz[0][1]=5;
  15. matriz[0][2]=2;
  16. matriz[0][3]=3;
  17. matriz[1][0]=5;
  18. matriz[1][2]=4;
  19. matriz[1][3]=5;
  20. matriz[2][0]=2;
  21. matriz[2][1]=4;
  22. matriz[2][3]=1;
  23. matriz[3][0]=3;
  24. matriz[3][1]=5;
  25. matriz[3][2]=1;
  26.  
  27. bool aumento;
  28. int contador;
  29. int contador2;
  30. int val1,val2;
  31.  
  32. for(int i=0; i<n; i=val2){
  33.    aumento = true;
  34.    contador2 = 0;
  35.    for(int j=0; j<n; j++){
  36.  
  37.        if (aumento){
  38.            contador = 0;
  39.  
  40.            while (matriz[i][contador]==0){
  41.                contador++;
  42.            }
  43.  
  44.            minimo = matriz[i][contador];
  45.            //cout << "\nMINIMO INICIAL EN FILA " << i << " : " << minimo << endl;
  46.            aumento = false;
  47.        }
  48.  
  49.        contador2++;
  50.        if(matriz[i][j]!=0){
  51.            if(matriz[i][j] < minimo){
  52.                minimo = matriz[i][j];
  53.                val1 = i;
  54.                val2 = j;
  55.                //cout << "MINIMO DE LA FILA " << i << ": " << minimo << endl;
  56.                cout << "POSICION " << "("<<val1<<","<<val2<<")"<<endl;
  57.  
  58.            }
  59.        }
  60.        //cout << "CONTADOR2 : " << contador2 << endl;
  61.  
  62.        if (contador2 == n){
  63.  
  64.            vertice.push_back(val1);
  65.                vertice.push_back(val2);
  66.  
  67.             for(int j=0; j<n; j++){
  68.  
  69.                          matriz[j][val1]=0;
  70.                          matriz[j][val2]=0;
  71.            }
  72.  
  73.            // cout << "POSICION " << "("<<val1<<","<<val2<<")"<<endl;
  74.        }
  75.    }
  76. }

MOD EDIT: Etiquetas GeSHi.
10  Programación / Programación C/C++ / Re: funcion reconocer emails en: 5 Septiembre 2016, 18:21 pm
Gracias!!! por la ayuda
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines