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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 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 ... 122
121  Programación / Programación C/C++ / Re: doble duda (arreglo dinamico y funciones entre clases) en: 5 Abril 2014, 22:05 pm
gracias por responder ^^ en realidad lo que quiero es no darle un tamaño definido sino que mi arreglo crezca  al ritmo en que yo lo vaya necesitando... y la vdd no se si eso se pueda hacer a base de puros new -asi como en mi codigo- o a fuerzas necesite usar los realloc (que aqui entre nos me han funcionado de maravilla)
Se puede hacer a base de news:

Código
  1. int* array = new int[10];
  2.  
  3. // operaciones...
  4.  
  5. //...
  6.  
  7. // necesitamos mas elementos!
  8.  
  9. int* aux = new int[20]; // crear un array mas grande
  10.  
  11. for (int i = 0; i < 10;i++)
  12.    aux[i] = array[i]; // copiar los elementos que ya estaban
  13.  
  14. delete[] array; // borramos el antiguo array
  15. array = aux; // cambiamos el puntero para que apunte al nuevo array

Pero yo lo veo una tontería. La clase vector hace precisamente eso, no hay necesidad de reinventar la rueda.
122  Programación / Programación C/C++ / Re: doble duda (arreglo dinamico y funciones entre clases) en: 5 Abril 2014, 20:49 pm
Te complicas demasiado:
Código
  1. int* array = new int[100];
  2.  
  3. // funciona igual que un array normal
  4.  
  5. array[2] = 3;
  6. cout<<array[2]<<endl;

También puede usar la clase vector:
http://www.cplusplus.com/reference/vector/vector/
123  Programación / Programación C/C++ / Re: ¿Ventajas de un puntero a una función? en: 5 Abril 2014, 20:46 pm
Pues que puedes crear una función que llame a otra función que no sabes ni como es ;D

Suponte que yo hago una librería para trabajar con imagenes BMP. Mi librería es capaz de leer un archivo bmp, descodificarlo y coger los datos de la imagen.

Pintarla es un tema que depende de la librería gráfica que se use en el momento. Como quiero que sea general me hago una función pintartal que así:

Código
  1. void pintar(void (*ptrF) (int) ptrf);

El usuario que use mi librería, puede pintar la imagen con esta función independientemente de la plataforma y de la librería gráfica que use. Solo necesita que pasar la función que él usa para pintar un pixel en la pantalla.
124  Programación / Programación C/C++ / Re: Convertir std::string a valor entero? en: 5 Abril 2014, 12:17 pm
Si no sabes la base númerica, el problema es irresoluble.
125  Programación / Programación C/C++ / Re: Operadores, Prioridad y asociatividad en lenguaje C. en: 4 Abril 2014, 12:23 pm
Realmente no es un problema de programación, sigue el mismo orden que las operaciones matemáticas normales.
126  Programación / Programación C/C++ / Re: ayuda con funciones en: 4 Abril 2014, 00:47 am
Puedes pasar los parametros por referencia o devolver una estructura:
Código
  1. struct datos
  2. {
  3.    vector<float> Datos;
  4.    vector<float> Frecuencias;
  5. }
  6.  
  7. Datos Histograma(vector<float> &trazas)

Otra solución más "express" es devolver una pareja (pair):
Código
  1. pair<vector<float>,vector<float> > Histograma(vector<float> &trazas)

Para más información sobre la estructura "pair":
https://www.youtube.com/watch?v=6Xqhqn15Bgo
127  Programación / Programación C/C++ / Re: Ayuda codigo convertir numero entero a string en: 4 Abril 2014, 00:03 am
Pues tal como lo pones me sale un número raro, sin dejarme introducir el número.

Sé que el fallo lo tengo yo, pero ¿dónde?.

Saludos!.

Pues sin ver el código completo no sé como decirte.

¿Numero esta inicializado no?
128  Programación / Programación C/C++ / Re: ayuda con funciones en: 3 Abril 2014, 22:37 pm
Sin ver el código no sabría decirte.
129  Programación / Programación C/C++ / Re: Ayuda codigo convertir numero entero a string en: 3 Abril 2014, 20:43 pm
Como anotación, te diré que eso ya está implementado en la librería estándar:
Código
  1. #include <sstream>
  2.  
  3. //...
  4.  
  5. stringstream linea;
  6. linea<<Numero;
  7.  
  8. cout<<linea.str()<<endl;
130  Programación / Programación C/C++ / Re: pasar de decimal a cualquier base menor de 10 en: 3 Abril 2014, 12:52 pm
¿Se convirtio en un concurso? Entonces estan desvirtuando el hilo e incumpliendo las reglas, por favor, dejen de pegar codigo sin necesidad. Los que sientan la irrefrenable necesidad de mostrar su codigo por favor abranse un blog.

Reglas:
Limitantes:
 El subforo, para defender sus objetivos, no aceptara peticiones de programas o códigos. Entiéndase lo siguiente (AQUÍ NO SE HACE LA TAREA DE NADIE)

•Se pregunta por conceptos abstractos. Aquí no estamos para hacerle el trabajo a nadie
Lo que voy a decir a continuación no es un ataque personal, solo es una crítica constructiva.

Aquí nadie hacemos el trabajo de nadie, creo que eso queda bastante claro viendo hilos. Nunca vas a encontrar un hilo en el que se responda a un user que ni siquiera ha posteado código (es como una regla no escrita entre programadores).

Me llama la atención que no quieras que la gente participe en el foro :huh:. El querer mantenerlo todo controlado al extremo no hace más que desanimar a la gente a no participar, un foro debe ser espontaneo y la gente no debe tener miedo a postear. De esa forma se consiguen aportes buenísimos, como en el post del laberinto (donde se propusieron varias formas para calcular la ruta de un laberinto, ya sea la ruta más corta o una ruta aleatoria cualquiera), o el post de calculo de PI donde debatimos sobre el algoritmo más eficiente (apurando a milésimas de segundo) o el de la calculadora parser. Todo eso es lo que hace que el foro esté vivo y sea divertido.

Y repito que no hemos echo ninguna tarea, solo hemos resuelto la duda en cuestión y después hemos empezado a postear nuestras versiones. La regla esa la hemos cumplido a rajatabla.

@Yoel_Alejandro: Sobre estas líneas de código:

Código
  1. unsigned *cifras = new unsigned[n];
  2. if ( cifras == NULL ) return -1;

A diferencia de malloc, new lanza una excepción cuando no puede allocar memoria.

Si quieres que en vez de una excepción devuelva NULL, debes usar "nothrow":

Código
  1. unsigned *cifras = new(nothrow) unsigned[n];
  2. if ( cifras == NULL ) return -1;
Páginas: 1 2 3 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 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines