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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Duda con memoria dinamica en: 20 Octubre 2015, 05:32 am
Buenas noches,

Tengo una duda respecto a este codigo... creo un arreglo con memoria dinamica de la siguiente manera...

Código
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5. using std::endl;
  6.  
  7. int main() {
  8.  
  9.    int *ptro_arreglo = NULL;
  10.  
  11.    ptro_arreglo = new int[3];
  12.  
  13.    for(int i=0 ; i<3 ; i++) {
  14.       *(ptro_arreglo + i) = i;
  15.       cout << ptro_arreglo[i] << " ";
  16.    }
  17.  
  18.    delete []ptro_arreglo;
  19.  
  20.    cout << endl;
  21.  
  22.    for(int i =0 ; i<3 ; i++) {
  23.        cout << *(ptro_arreglo + i) << "  ";
  24.    }
  25.  
  26.    cin.get();
  27.    return 0;
  28. }
  29.  

Mi duda es cuando utilizo
Código
  1. delete []ptro_arreglo
, si ya elimine la memoria utilizada....
cuando imprimo de nuevo el arreglo sigue alli..no se deberia eliminar?...Gracias por sus respuestas...


2  Programación / Programación C/C++ / Funcion Separar Digitos de un numero en: 29 Septiembre 2015, 03:22 am
Buenas Noches, ando resolviendo algunos ejercicios de un libro, pero quede en este

Escriba segmentos de programa que lleven a cabo cada una de las siguientes tareas:
a) Calcular la parte entera de un cociente, cuando el entero a se divide entre el entero b.
b) Calcular el residuo entero, cuando el entero a se divide entre el entero b.
c) Utilice los segmentos de programa desarrolladas en a) y b), para escribir una función que introduzca un entero
entre 1 y 32767 y que imprima una serie de dígitos, y que cada par de ellos se encuentre separado por dos espacios. Por ejemplo, el entero 4562 se debe imprimir como:
4 5 6 2.

La parte a y b es sencilla ya lo hice pero no he podido con la parte c, si alguien me puede guiar en como, se que debo jugar con el cociente y residuo pero no he encontrado una manera que me de solucion a lo que me piden. Muchas gracias

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. /// Prototipo funciones
  7. int cociente(int, int);
  8. int residuo(int, int);
  9.  
  10. int main() {
  11.  
  12.   cout << "\t  FUNCIONES Ejercicio #3      \n\n";
  13.  
  14.   int a, b, num;
  15.  
  16.   cout << " Ingrese valor de a: ";
  17.   cin >> a;
  18.   cout << " Ingrese valor de b: ";
  19.   cin >> b;
  20.   cout << endl;
  21.  
  22.   cout << " Cociente: " << cociente(a,b);
  23.   cout << " Residuo: " << residuo(a,b);
  24.   cout << endl << endl;
  25.  
  26.   cout << " Ingrese un valor entre 1 y 32767: \n";
  27.   cin >> num;
  28.  
  29.   if(num>0 && num<32768) {
  30.  
  31.        // Aca iria la funcion
  32.   }
  33.   else
  34.      cout << " Ingrese valores correctos.\n\n";
  35.  
  36.   return 0;
  37. }
  38.  
  39. int cociente(int x, int y) {
  40.  
  41.   return x/y;
  42. }
  43.  
  44. int residuo(int x, int y) {
  45.  
  46.   return x%y;
  47. }
  48.  
  49.  
3  Programación / Programación C/C++ / Punteros creacion de matriz en: 7 Septiembre 2015, 19:59 pm
Buenas,

En este codigo se trata de crear una matriz utilizando memoria dinamica con punteros, mi pregunta es porque al indicar la creacion de la segunda dimension no se antepone el (*) asterisco. donde esta esta parte del codigo (Vec = new int[y];)

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.  int x = 3;
  8.  int y = 3;
  9.  int **Vec;
  10.  
  11.  Vec = new int*[x]; //crear la primera dimension
  12.  
  13.  for(int i=0; i<x; i++)
  14.  {
  15.    Vec[i] = new int[y]; // Aqui porque no se antepone el * como en el caso de arriba.
  16.  }
  17.  
  18.  for(int i=0;i<x;i++){
  19.         for(int j=0;j<y;j++){
  20.            Vec[i][j] = 1;r
  21.            cout<<Vec[i][j]<< " ";
  22.         }
  23.         cout<<endl;
  24.       }
  25.  return 0;
  26.  
  27. }
  28.  
  29.  


4  Programación / Programación C/C++ / Funcion miembro Como implementarla C++ en: 1 Septiembre 2015, 16:40 pm
Buenas, ando por aca empezando con POO y tengo una duda con el siguente ejercicio:

Citar
Construir una clase llamada Rectangulo que tenga miem-
bros de datos en número de precisión doble llamados largo
y ancho. La clase deberá tener una función miembro llamada
perímetros() y area() para calcular el perímetro y el área de
un rectángulo, una función miembro llamada getDatos() que
despliegue el largo, ancho, perímetro y área de un rectángulo.

Por Ahora ya tengo lo que es el Area y el el pereimetro de la siguiente manera pero como hago la funcion miembro getDatos()... porque en cada funcion me devuelve un valor especifico, pero cuando tengo que mostrar todos esos datos como seria la sintaxis del metodo.... Muchas gracias a quien pueda orientarme....

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Rectangulo{
  6.                   double Ancho, Largo;  // atributos
  7.  
  8.                   public:
  9.                          Rectangulo(double An, double La); // Constructor
  10. // Metodos
  11.                          void set_Ancho(double An);
  12.                          void set_Largo(double La);
  13.  
  14.                          double get_Area();
  15.                          double get_Perimetro();
  16.  
  17.                };
  18.  
  19. // Implementacion de metodos
  20. Rectangulo::Rectangulo(double An, double La){ Ancho = An;
  21.                                              Largo = La;
  22.                                            }
  23. void Rectangulo::set_Ancho(double An){ Ancho = An;}
  24. void Rectangulo::set_Largo(double La){ Largo = La;}
  25.  
  26. double Rectangulo::get_Area(){ return Ancho*Largo;}
  27. double Rectangulo::get_Perimetro(){ return (2*Ancho)+(2*Largo);}
  28.  
  29. int main()
  30. {
  31.  Rectangulo rectangulo(5,7);
  32.  
  33.  cout << " AREA: " << rectangulo.get_Area() << endl;
  34.  cout << " PERIM: " << rectangulo.get_Perimetro() << endl;
  35.  
  36.  
  37.  return 0;
  38. }
5  Programación / Programación C/C++ / Problema con Array en: 9 Febrero 2015, 18:30 pm
Buenas Companieros tengo el siguiente problema del libro Deitel:

(Sistema de reservaciones para una aerolínea.) Una pequeña aerolínea acaba de comprar una computadora para su
nuevo sistema automático de reservaciones. A usted se le ha pedido que programe el nuevo sistema. Usted debe es-
cribir un programa que asigne los asientos, en cada vuelo, del único avión de la aerolínea (capacidad: 10 asientos).
Su programa debe desplegar el siguiente menú de alternativas:
Por favor, digite 1 para “primera clase”
Por favor, digite 2 para “económico”
Si la persona digita 1, su programa debe asignar un asiento en la sección de primera clase (asientos 1 a 5). Si la
persona digita 2, su programa debe asignar un asiento en la sección económica (asientos 6 a 10). Su programa de-
be imprimir un pase de abordar que indique el número de asiento de la persona y si está en la sección de primera
clase o en la sección económica del avión.
Utilice un arreglo con un solo subíndice para representar la tabla de asientos del avión. Inicialice en 0 todos los ele-
mentos del arreglo para indicar que todos los asientos están vacíos. Mientras se asigna cada asiento, el valor de los
elementos correspondientes del arreglo se establece en 1, para indicar que el asiento ya no está disponible.
Por supuesto, su programa nunca debe asignar un asiento que ya está asignado. Cuando la sección de primera clase
está llena, su programa debe preguntar a la persona si acepta que se le coloque en la sección económica (y viceversa).
Si acepta, entonces haga la asignación apropiada del asiento. Si no acepta, entonces despliegue el mensaje “El
siguiente vuelo parte en tres horas”.

Código
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5. using std::endl;
  6.  
  7. void Mostrar(int Sillas[]);
  8.  
  9. int main()
  10. {
  11.    cout << "\t RESERVACIONES AEROLINEA \n\n";
  12.  
  13.    int Asientos[10] = {};
  14.    int k=0; // contador de los 10 turnos
  15.  
  16.    cout << " Por favor, digite 1 para 'primera clase'\n";
  17.    cout << " Por favor, digite 2 para 'economico'\n\n";
  18.  
  19.    cout << " Asientos: ";
  20.    Mostrar(Asientos);
  21.  
  22.    do{
  23.        int puesto, x;
  24.        cout << "\n\nDigite su asiento: ";
  25.        cin >>  puesto;
  26.  
  27.        if(puesto == 1)
  28.        {
  29.            for(int i=0 ; i<5 ; i++)
  30.            {
  31.                if(Asientos[i] == 0 && i<5)
  32.                {
  33.                    Asientos[i] = 1;
  34.                    x = i+1;
  35.                    break;
  36.                }
  37.            }
  38.            cout << "\nPASE DE ABORDAJE:" << endl;
  39.            cout << "El asiento asignado es: " << x << endl;
  40.            cout << "Se encuentra en 1ra clase" << endl << endl;
  41.        }
  42.  
  43.        if(puesto == 2)
  44.        {
  45.            for(int i=5 ; i<10 ; i++)
  46.            {
  47.                if(Asientos[i] == 0 && i<10)
  48.                {
  49.                    Asientos[i] = 1;
  50.                    x = i+1;
  51.                    break;
  52.                }
  53.            }
  54.            cout << "\nPASE DE ABORDAJE:" << endl;
  55.            cout << "El asiento asignado es: " << x << endl;
  56.            cout << "Se encuentra en clase economico" << endl << endl;
  57.        }
  58.  
  59.        Mostrar(Asientos);
  60.  
  61.        k++;
  62.    }while(k<10);
  63.  
  64.    return 0;
  65. }
  66.  
  67. void Mostrar(int Sillas[])
  68. {
  69.    for(int i=0 ; i<10 ; i++)
  70.    {
  71.        cout << " " << Sillas[i];
  72.    }
  73. }
  74.  
  75.  

Ahora bn hasta aca el programa pide 10 veces la entrada o la asignacion de los puestos pero no logro ver como hacer para que cuando ya no hallan puestos disponibles el programa pregunte si desea un puesto en la otra clase y si la respuesta es SI que lo asigne... Si alguien me puede guiar se lo agradeceria.
6  Sistemas Operativos / GNU/Linux / Me conecta a wifi pero no navega OpenSuse 13.2 en: 31 Diciembre 2014, 02:05 am
Buenas Me surgio un problema luego de actualizar OpenSuse 13.1 a 13.2, lo hice por medio del DVD. No puedo navegar en internet, a pesar de que me aparecen las redes inalambricas y me puedo conectar a estas. como puedo configurar la red, ya he seguido varios tutoriales y ninguno me ha funcionado. Muchas gracias a quien pueda ayudarme.

Fuente:
Citar
Citar
7  Programación / Programación C/C++ / Vector(STL) con estructuras en: 8 Diciembre 2014, 01:18 am
Buenas, queria resolver una duda referente a el uso de vectores con estructuras. A lo que me refiero es a que si puedo hacer esto:

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. struct Estructura
  7. {
  8.     string nombre;
  9.     int Edad;
  10. };
  11.  
  12. int main()
  13. {
  14.      Estructura persona[2];    
  15.  
  16.      for (int i=0 ; i<2 ; i++)
  17.      {
  18.          cout << "Ingrese nombre: ";
  19.          getline(cin,persona[i].nombre);
  20.          cout << "Ingrese edad: ";
  21.          cin >> persona[i].edad;
  22.          cin.ignore();
  23.      }
  24.  
  25.     // Y para imprimirlo seria:
  26.  
  27.      for (int i=0 ; i<2 ; i++)
  28.      {
  29.          cout << persona[i].nombre << endl;
  30.          cout << persona[i].edad << endl;
  31.      }
  32. }
  33.  

Ahora en vez de
Código
  1. Estructura persona[2];
Hacer algo como
Código
  1. vector<Estructura>Arreglo; // Hasta aqui declare un vector de tipo Estructura


Pero como hago la parte de:
Código
  1. for (int i=0 ; i<2 ; i++)
  2.      {
  3.          cout << "Ingrese nombre: ";
  4.          getline(cin,persona[i].nombre);
  5.          cout << "Ingrese edad: ";
  6.          cin >> persona[i].edad;
  7.          cin.ignore();
  8.      }
  9.  
Como asigno el nombre y la edad que pida al usuario a el vector que cree del tipo Estructura??...

Esto se puedo hacer?. Gracias por su colaboracion.
8  Seguridad Informática / Hacking Ético / Error Wireshark kali linux en: 5 Diciembre 2014, 06:38 am
Buenas, estoy empezando y aprendiendo a usar ciertas herramientas de esta distro kali linux y me he encontrado con un problema. Cuando abro el WIRESHARK me aparece el siguiente error:

Citar
Lua: Error during loading:
 [string "/usr/share/wireshark/init.lua"]:601: attempt to call field '?' (a nil value)

He estado buscando y buscado y solo encontre una solucion pero a otro error que era :

Citar
Error during loading:[string "/usr/share/wireshark/init.lua"]:46: dofile has been disabled due to running Wireshark as superuser. See http://wiki.wireshark.org/CaptureSet...turePrivileges for help in running Wireshark as an unprivileged user.

Si alguien me puede indicar como solucionar el error que me aparece (601) o indicarme donde puedo encontrar la solucion se lo agradeceria.  :huh:
9  Programación / Programación C/C++ / No me compila en Codeblocks c++ en: 18 Noviembre 2014, 20:55 pm
Buenas noches,
Formatie el pc y quiero instalar de nuevo codeblocks para programar en c++
pero luego de instalarlo, trate de compilar un archivo y no me fue posible.
Me sale el siguiente error:

Citar
programitas\VECTORS\Vector-string.o"
mingw32-g++.exe: error: D:\Personal\PROGRAMACION C/C++\SOLO---C++\Mis programitas\VECTORS\Vector-string.cpp: No such file or directory
mingw32-g++.exe: fatal error: no input files
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

Me descargue e instale la version de codeblocks 13.12 con MinGw.

En settings - compiler me detecta el GNU GCC Compiler.

En settings - compiler en la pestana toolchain excecutables le doy auto-detect y me detecta el MinGw

Citar
C:\Program Files (x86)\CodeBlocks\MinGW

Entonces no se porque me sale el error, si alguien me puede colaborar lo agradeceria mucho.  :huh:
10  Programación / Programación C/C++ / Punteros a estructuras...??? en: 11 Noviembre 2014, 04:38 am
Buenas por aqui otra vez jejeje..tratando de resolver dudas...
Estoy aprendidendo y leyendo acerca de los punteros...
Mi duda surge cuando quiero utilizar los punteros con estructuras..

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. struct Estructura
  7. {
  8.     string nombre;
  9.     int Edad;
  10. };
  11.  
  12. int main()
  13. {
  14.    Estructura persona[2];  
  15.  
  16.    Estrucputa *ptr_persona = NULL; // Declaro puntero y lo inicializo
  17.  
  18.    // Hasta aqui todo va bien, pero como asigno el nombre y la edad que se
  19.    // pida al usuario para llenar el arreglo persona[2]
  20.  
  21.    // Normalmente sin punteros seria asi:
  22.  
  23.   for (int i=0 ; i<2 ; i++)
  24.   {
  25.       cout << "Ingrese nombre: ";
  26.       getline(cin,persona[i].nombre);
  27.       cout << "Ingrese edad: ";
  28.       cin >> persona[i].edad;
  29.       cin.ignore();
  30.   }
  31.  
  32.  // Y para imprimirlo seria:
  33.  
  34.   for (int i=0 ; i<2 ; i++)
  35.   {
  36.       cout << persona[i].nombre << endl;
  37.       cout << persona[i].edad << endl;
  38.   }
  39. }
  40.  

  Como haria esto con punteros??...Quiero ver como hacerlo con un ejemplo sencillo a ver si
  Puedo lograr algo mas complicado y entender como funcionan los punteros con las estructuras.
  He leido bastante pero no he visto un ejemplo concreto donde pueda ver esto que quiero hacer...

Muchas Gracias a quien me pueda colaborar, ando de autodidacta y no tengo a quien preguntar
en mi entorno acerca de estos temas.

EDITO: Es mediante la asignacion dinamica de memoria (eso creo), seguire leyendo, igualmente si alguien me  puedo dar una breve explicacion lo apreciaria mucho...
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines