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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
31  Programación / Programación C/C++ / Re: arreglo de punteros y funciones en: 27 Agosto 2013, 11:17 am
Código
  1. Punto tabla[3]; //Array con semántica valor | Contenido con semántica valor
  2. Punto* tabla[3]; //Array con semántica valor | Contenido con semántica referencia
  3. Punto* tabla[3] = new Punto[3]; //Array con semántica referencia | Contenido con semántica valor
  4. Punto** tabla[3];//Array con semántica referencia | Contenido con semántica referencia

Saludos.
32  Programación / Programación C/C++ / Re: tamaño de un arreglo en: 25 Agosto 2013, 01:51 am
Si no te he entendido mal lo que tú buscas no es una forma de calcular el tamaño del array sino la manera de saber cuántas posiciones has llenado. Hay varias formas de hacerlo, te comento un par sencillas:

1- Dentro del bucle lleva un contador con el cual, cada vez que llenes una posición del array, sume uno.

Código
  1. int contador = 0;
  2. for(i=0;i < TAM;i++) {
  3.    scanf("%d",&a[i]);
  4.    contador++;
  5. }

2- Inicializa el array con un valor no-viable (un número que no tenga sentido y sirva como marca fin):

Código
  1. for (int i = 0; i < TAM; i++) { //Lo inicializamos a -1
  2.   arrayEnteros[i] = -1;
  3. }

Cuando quieras saber el tamaño del array basta con que lo recorras hasta llegar a un elemento que sea igual a -1; o si no hay ninguno es que se ha llenado entero.

Saludos.
33  Programación / Programación C/C++ / Re: tamaño de un arreglo en: 24 Agosto 2013, 00:00 am
¡Buenas!

El operador "sizeof(arrayEnteros)" devuelve el tamaño del array en bytes. Si quieres saber cuántos elementos tiene dicho arreglo divide el tamaño del array entre el tamaño de un elemento:

Código
  1. int tam_array = sizeof(arrayEnteros) / sizeof(int);

Nota: sizeof funciona únicamente si el array ha sido creado estáticamente.

Saludos.
34  Programación / Programación C/C++ / Re: tamaño máximo de una list<> en: 23 Agosto 2013, 09:29 am
Alguien sabe el tamaño maximo que acepta de datos una list<>
el problema es que estoy trabajanddo con imagenes de satelites, estoy generando por un método una imagen mucho más grande y llega el momento que la lista explota con solo 16 777 216 datos

Es evidente, si dices que estás almacenando imágenes de gran tamaño y llegas a tener 16 777 216 es normal que no haya memoria suficiente. La solución a esto  es trabajar conjunto con el disco duro, ve guardando las imágenes que no utilices y cárgalas cuando las necesites (por ejemplo llevando una list<> de sus identificadores y no almacenando la foto en sí); la memoria RAM es demasiado limitada para lo que intentas.

Saludos.
35  Programación / Programación C/C++ / Re: (MiProyecto) Librería para desarrollar en C++ Linux en: 22 Agosto 2013, 18:37 pm
Lo he estado revisando y quizá un dia de estos diseñe alguna cosilla para testear. Si me aventuro a ello lo posteo aqui mismo.

Una idea: en versiones posteriores se podría añadir la posibilidad de cargar imágenes y sonidos, eso si le daría enganche a la librería.

Buen trabajo! Saludos.
36  Programación / Programación C/C++ / Re: Empezando con c++ aunque no me guste XD en: 22 Agosto 2013, 09:31 am
Es un atraso usar Dev-Cpp porque es un IDE que lleva sin mantenimiento muchos años... Code::Blocks como dijeron es una buena alternativa.

Eso era cierto hasta hace un par de meses, sacaron una nueva versión estable, aunque por lo que comentan en el foro no es muy completa... aún así ya no está desactualizada y merece la pena echarle un vistazo.

Code::Blocks to power!
37  Programación / Programación C/C++ / Re: Necesito ayuda con C++ en: 22 Agosto 2013, 09:26 am
Hay un tema en este subforo dedicado a eso: http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

Saludos.
38  Programación / Programación C/C++ / Re: verificar numeros romanos en: 21 Agosto 2013, 11:09 am
Tiene un par de errores, te lo pongo corregido:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define TAM 10
  5.  
  6. int main () {
  7.  
  8.    char alfRomano[] = {'I','V','X','L','C','D','M','\0'}, entrada[TAM], *pAlfRomano, *pEntrada;
  9.    bool encontrado;
  10.  
  11.    printf("Introduce un numero: ");
  12.    fgets(entrada, TAM, stdin);
  13.  
  14.    for(pEntrada = entrada; *pEntrada != '\n'; pEntrada++) { //Bucle exterior: recorre la entrada letra por letra
  15.  
  16.        encontrado = false;
  17.        for(pAlfRomano = alfRomano; ((*pAlfRomano != '\0') && !encontrado); pAlfRomano++) { //Bucle interior: comprueba si el siguiente carácter es romano
  18.            if(*pEntrada == *pAlfRomano) encontrado = true;
  19.        }
  20.  
  21.        if(!encontrado) {
  22.            printf("No es un numero romano.\n");
  23.            exit(1);
  24.        }
  25.    }
  26.  
  27.    printf("Es un numero romano.\n");
  28.  
  29.    return 0;
  30. }
  31.  

Casos especiales:

-Si introduces la cadena vacía te la da por correcta y eso no es un número romano.
-Si introduces un número romano correcto y al final un espacio te la da por incorrecta cuando si es válida.

Esto es muy sencillo de manejar pero ya corre por tu cuenta.

Además puedes mejorar el código y añadirle reglas de la sintáxis romana como por ejemplo que no se puedan escribir más de tres carácteres iguales consecutivos: VIIII -> mal

Saludos.
39  Programación / Programación C/C++ / Re: verificar numeros romanos en: 20 Agosto 2013, 12:53 pm
Citar
Ojo con ese argumento, las llamadas a función también son saltos de ejecución del programa.

Si, pero no son saltos desde el punto de vista del programador sino del programa, cuando hablamos de la prohibición de break/continue/goto no nos referimos a que sea ineficiente realizar estos saltos sino que no son claros a la hora de trabajar el código. Si en mi programa escribo la función "dividir(..)" tanto yo como cualquier otro informático comprenderá qué estamos diviendo X entre Y independientemente de las veces que llame a esta función; sin embargo si en un bucle pongo 3 o 4 break/continue, por lo general otra persona que intente leerlo le va a costar bastante comprenderlo.

Por tanto considero que el argumento citado por los catedráticos es válido.

¿Deberíamos dejarlo en un punto intermedio y usar estas instrucciones con cabeza?, en teoría no habría problema pero igual que con el famoso goto veríamos mucho abuso, por eso gran parte de los informáticos no recomiendan incluirlas en el programa; pero por supuesto la instrucción está ahi y cada uno puede darle el uso que crea conveniente.

Un saludo.
40  Programación / Programación C/C++ / Re: Ayuda con funciones en C en: 20 Agosto 2013, 10:48 am
Crea una función para cada operación:

Código
  1. double sumar(double a, double b);
  2. double restar(double a, double b);
  3. double multiplicar(double a, double b);
  4. double dividir(double a, double b);

Mete las instrucciones de los bloques CASE en cada función; después lo único que debes hacer es llamarlas desde dichos bloques.

Guíate con: http://c.conclase.net/curso/index.php?cap=003#inicio

Un saludo.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines