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] 3 4
11  Programación / Programación C/C++ / Re: Duda con punteros en: 7 Junio 2018, 18:28 pm
No domino C++ así que no puedo mostrarte cómo se hace con su sintaxis, pero si con C, por si te sirve de ayuda.
Te entiendo, muchas gracias pero la práctica es en C++.
Estoy buscando la solución. La pondré cuando la tenga.
Un Saludo.
12  Programación / Desarrollo Web / Plugin para que usuarios escojan rol WP en: 7 Junio 2018, 18:26 pm
Buenas!
Estoy buscando un plugin que permita a un usuario registrarse y escoger el rol que prefiera(editor, colaborador, subscriptor, etc...) y luego se le permita editar su perfil y modificarlo cuando desee.
¿Alguien conoce alguno?
Un Saludo
13  Programación / Programación C/C++ / Re: Duda con punteros en: 7 Junio 2018, 14:17 pm
Entiendo que más que una lista es una pila, cada vez que insertas algo lo haces en la cabeza y lo que era la lista original pasa a la cola.

Es una lista, lo que pasa es que para resumir mi caso he puesto el insertar en cabeza de la lista, tengo el caso de insertar al final de la lista e insertar en medio, pero si es una lista, la pila no la he implementado...
Lo único es que en vez de estar implementada secuencialmente, está enlazada mediante punteros.
Un Saludo.
14  Programación / Programación C/C++ / Re: Duda acerca de imprimir (en impresora) en: 7 Junio 2018, 14:07 pm
Buenas Pieshna.
¿Podrías dar mas detalles? SO por ejemplo, marca de impresora, puerto al que está conectada...
Un Saludo.
15  Programación / Programación C/C++ / Re: Duda con punteros en: 7 Junio 2018, 13:58 pm
Buenas ThunderCls.

Si, entiendo que el Nodo que creo que es el que le meto el numero y apunta a primero es la misma dirección de memoria.
Y si, en el tema de punteros he incidido bastante.
El tema del destructor también lo controlo y está bien hecho.
Sigo investigando, cuando tenga la solución la pongo por aquí.
Un Saludo y gracias por tu respuesta!
16  Programación / Programación C/C++ / Re: Error al retornar una linea de un archivo en C++ en: 5 Junio 2018, 19:17 pm
Si te salta el error en la linea 19, prueba en vez de getline a usar el feof o eof del fichero y comentas el resultado.
Código
  1. while(!feof(nombreArchivo))

Un saludo!
17  Programación / Programación C/C++ / Re: dándole vueltas a un problemilla c++ necesito un poco de ayuda en: 5 Junio 2018, 16:29 pm
Buenas el problema de tu código sería que no compruebas si esa pareja ya ha existido anteriormente, está muy bien pero te faltaría eso...
Aquí te dejo un código que he hecho referente a tu tarea
Espero que te ayude.

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool noEncontrado(char letra, const char usadas[], int longitud){
  5.    for(int i=0;i<longitud;i++)
  6.        if(letra==usadas[i])
  7.            return false;
  8.    return true;
  9. }
  10.  
  11.  
  12. int main(int argc, char const *argv[]){
  13.  
  14.    const int MAXLETRAS=10;
  15.    int contadorusadas=0;
  16.    char palabra[MAXLETRAS] = {'A','A','D','F','A','A','S','S','R','U'};
  17.    char usadas[MAXLETRAS];
  18.  
  19.    for(int i=0;i<MAXLETRAS;i++){
  20.        if(palabra[i]==palabra[i+1])
  21.            if(noEncontrado(palabra[i],usadas,contadorusadas)){
  22.                usadas[contadorusadas]=palabra[i];
  23.                contadorusadas++;
  24.            }
  25.    }
  26.  
  27.    cout << "Han aparecido " << contadorusadas << " letras con parejas" << endl;
  28.    cout << "Letras con parejas encontradas" << endl;
  29.    for(int i=0;i<contadorusadas;i++) cout << usadas[i] << endl;
  30.    return 0;
  31. }

PD: Acostumbrate a poner el código entre etiquetas propias de código.
Un saludo.
18  Programación / Programación C/C++ / Re: Ayuda para pasar este código de c a c++ :( en: 4 Junio 2018, 18:49 pm
Código
  1. #include <stdio.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main(){
  6.  const float PrecioBase = 60;
  7.  /*Precio de la butaca*/ ;
  8.  int butacas = 0;
  9.  /*Número de butacas vendidas*/
  10.  int edad;
  11.  /*Edad del cliente*/
  12.  float totalpesos= 0.0;
  13.  /*Total de euros recaudados*/
  14.  float precio;
  15.  /*Precio de cada butaca*/
  16.  char opcion = 's ';
  17.  /*Opción del programa*/
  18.  char tecla = ' f';
  19.  /*Tecla Si/No*/
  20.  /*--Bucle hasta opción F de fin--*/
  21.  while (opcion !='F') {
  22.    cout << "Opcion (Ticket(T), Resumen(R) o Fin(F))? " << endl;
  23.    opcion = ' ';
  24.       while ((opcion !='T') && (opcion !='R') && (opcion !='F')) { cin >> opcion;
  25. }
  26.  
  27.  if (opcion == 'T') {
  28.    tecla = 'S';
  29.  
  30.      while (tecla == 'S') {
  31.         cout << "Edad " << endl;
  32.         cin >> edad;
  33.         butacas++;
  34.         cout << "|----------------------------------------|" << endl;
  35.         if (edad<6) { /*Niño gratis*/
  36.             cout << "|Gratis " << endl;
  37.             precio = 0.0;
  38.        } else if (edad<18) { /*Joven 50%*/
  39.             cout << "|Joven " << endl;
  40.             precio = PrecioBase-(PrecioBase*.50);
  41.        } else if (edad<65) { /*Adulto, tarifa completa*/
  42.             cout << "|Adulto " << endl;
  43.             precio = PrecioBase;
  44.       } else { /*Jubilado 25%*/
  45.             cout << "|Jubilado " << endl;
  46.             precio = PrecioBase-(PrecioBase*.25);
  47.     }
  48.     totalpesos = totalpesos + precio;
  49.     cout << " Precio: " << endl << precio << endl;
  50.     cout << "|----------------------------------------|" << endl << endl;
  51.     cout << "Otro Ticket(S/N)? " << endl;
  52.     tecla = ' ';
  53.     while ((tecla !='S') && (tecla !='N')) { cin >> tecla; }
  54. }
  55. }
  56. }
  57. /*============================================================ 64 Elaboración del Resumen de la Recaudación 65 ==============================================================*/
  58.  
  59.  if (opcion == 'R') {
  60.     cout << " RESUMEN DE VENTAS" << endl;
  61.     cout << " ----------------- " << endl;
  62.     cout << "Butacas " << endl << butacas << endl;
  63.     cout << "Total Recaudado = " << endl << endl << totalpesos << endl;
  64.  }
  65. }
  66. }
  67.  
19  Programación / Programación C/C++ / Re: Urgente, proyecto, Dijkstra, ruta más corta xc en: 4 Junio 2018, 18:42 pm
Buenas axel19.

Para realizar el algoritmo de Dijsktra lo eficiente sería usar una programación dinamica, recursiva o iterativa lo que mejor te convenga, ya que recursivamente y mediante ese tipo de programación, estarás guardando en un array de n posiciones las aristas ya recorridas por las cuales no debes volver a pasar.

Llevar a cabo la implementación de este algoritmo es sencillo usando una cola de prioridad.. aqui te dejo el pseudocodigo.

Código:
DIJKSTRA (Grafo G, nodo_fuente s)       
       para u ∈ V[G] hacer
           distancia[u] = INFINITO
           padre[u] = NULL
           visto[u] = false
       distancia[s] = 0
       adicionar (cola, (s, distancia[s]))
       mientras que cola no es vacía hacer
           u = extraer_mínimo(cola)
           visto[u] = true
           para todos v ∈ adyacencia[u] hacer
               si distancia[v] > distancia[u] + peso (u, v) hacer
                   distancia[v] = distancia[u] + peso (u, v)
                   padre[v] = u
                   adicionar(cola,(v, distancia[v]))

Si no sabes usar colas de prioridad, la complejidad aumenta algo más.

Tienes ejemplos de este algoritmo resuelto en Pseudocodigo, Java y C++ en la Wikipedia; adjunto link: https://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra#Otra_versi%C3%B3n_en_C++_del_algoritmo_de_Dijkstra

Un saludo y suerte!!
20  Programación / Programación C/C++ / Re: Como parsear los distintos permisos chmod() c / c++ en: 2 Junio 2018, 13:58 pm
Buenas d91.

Los permisos disponibles para chmod son:
0 (cero) = Sin permisos
1 = permiso de ejecutar únicamente
2 = permiso de escribir solamente
3 = escribir y ejecutar
4 = permiso de leer
5 = leer y ejecutar
6 = leer y escribir
7 = leer, escribir y ejecutar

Al usar CHMOD tienes 3 grupos de números, lo cual representa igualmente 3 grupos de usuarios:
1. Owner o User, el cual de manera general es el webmaster
2. Group, un grupo de usuarios configurado por el webmaster
3. World o Anyone, que es básicamente cualquier usuario que usa tu sitio web.

Como tu tarea será a nivel de usuario el 2 y el 3 no se toca, o le pones los mismos que al owner.

Por lo tanto yo haría un programilla tal que fuera un menú y un switch.

Código
  1. #include <stdio.h>
  2. #include <sstream>
  3. #include <stdlib.h>
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. int menuChmod(){
  8.   int eleccion;
  9.   cout << "+++++++MENU+++++++" << endl;
  10.   cout << "1 - Solo ejecutar" << endl;
  11.   cout << "2 - Solo escribir" << endl;
  12.   cout << "3 - Escribir y ejecutar" << endl;
  13.   cout << "4 - Solo leer" << endl;
  14.   cout << "5 - Leer y ejecutar" << endl;
  15.   cout << "6 - Leer y escribir" << endl;
  16.   cout << "7 - Leer, escribir y ejecutar" << endl;
  17.   cout << "Ingrese eleccion: ";
  18.   cin >> eleccion;
  19.   return eleccion;
  20. }
  21.  
  22. int main(int argc, char *argv[]){
  23.  
  24.    char archivo[100];
  25.    ostringstream oss;
  26.    oss << "chmod ";
  27.  
  28.    cout<<"\nIngrese nombre del archivo: ";
  29.    cin>>archivo;
  30.  
  31.    switch(menuChmod()){
  32.        case 1: {oss << "100 "<<archivo;
  33.                 system((oss.str()).c_str());
  34.                 break;
  35.                }
  36.        case 2: {oss << "200 "<<archivo;
  37.                system((oss.str()).c_str());
  38.                break;
  39.                }
  40.        case 3: {oss << "300 "<<archivo;
  41.                 system((oss.str()).c_str());
  42.                 break;
  43.                }
  44.        case 4: {oss << "400 "<<archivo;
  45.                system((oss.str()).c_str());
  46.                break;
  47.               }
  48.        case 5: {oss << "500 "<<archivo;
  49.                 system((oss.str()).c_str());
  50.                 break;
  51.                }
  52.        case 6: {oss << "600 "<<archivo;
  53.                 system((oss.str()).c_str());
  54.                 break;
  55.                }
  56.        case 7: {oss << "700 "<<archivo;
  57.                 system((oss.str()).c_str());
  58.                 break;
  59.                }
  60.        default:;
  61.    }
  62.  
  63.    ostringstream ls;
  64.    ls << "ls -la | grep " << archivo;
  65.    system((ls.str()).c_str());
  66.  
  67.    return 0;
  68. }

Lo hice con system porque desconozco como funciona chmod en la libreria que usaste.
La idea está en el codigo.
SI al grupo y a todo el mundo quieres asignarle los mismos permisos, en vez de 100, sería 111, y así con todos.

Espero haberme explicado bien.
Un Saludo.
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines