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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  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 29 30 31 32 ... 160
161  Programación / Programación C/C++ / Re: suma de cada columna c++ en: 2 Diciembre 2014, 21:56 pm
Un problema con tu programa se debe a que no inicializas todos los elementos del array donde almacenas los totales (el array "voto_cand"). Una forma de hacerlo es en su declaración:
Código
  1. int i, j, votos, voto_cand[9] = {0}, encuesta[7][9];

Un saludo
162  Programación / Programación C/C++ / Re: arreglo en mayusculas y sin espacios c++ en: 2 Diciembre 2014, 02:37 am
Si no tienes un curso o libro de calidad sobre C++ deberías conseguir uno, si necesitas de recomendaciones basta con utilizar el motor de búsqueda de los foros.

Tu programa termina sin responder porque el bucle interno es infinito ya que en ningún momento modificas el valor de la variable "i":
Código
  1. for (i = 0; palabra[i]; j++) // <==
  2.   // ...

Para imprimir los caracteres en mayúsculas ignorando los espacios basta con un solo bucle:
Código
  1. for (i = 0; palabra[i] != '\0'; ++i)
  2.   if (palabra[i] != ' ')
  3.      cout << char(toupper(palabra[i]));
  4. cout << endl;

Un saludo
163  Programación / Programación C/C++ / Re: cadena de caracteres a ASCII en: 2 Diciembre 2014, 01:50 am
EL PROBLEMA ES QUE ME SALE BASURA AL FINAL Y NO HE VISTO CUAL PUEDE SER EL PROBLEMA
Por favor NO publiques todo el texto de tu mensaje en mayúsculas, lo prohíben las reglas de los foros.

En cuanto al programa se deben cambiar los nombres de los encabezados y evitar el uso de la función gets, las razones de ello se indican en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Ademas:
* No es necesario el uso de dos contadores (las variables "i" y "j"), con uno solo basta.
* Para procesar todos los caracteres el limite debe ser "< strlen(frase)".
* Lo anterior no es necesario ya que las cadenas "a la C" se pueden procesar hasta encontrar el carácter '\0'.
* El programa no genera la salida esperada porque la asignación esta al revés:
Código
  1. frase[i] = num_frase[j]; // Deberia ser num_frase[j] = frase[i];

Por ultimo no es necesario un array de enteros, en su lugar se puede generar el entero correspondiente con:
Código
  1. cout << frase[i] << "=" << int(frase[i]) << endl;

Un saludo
164  Programación / Programación C/C++ / Re: [?] Duda con Map y punteros C++ en: 2 Diciembre 2014, 01:33 am
tengo que hacer una función que reciba un tipoDeDatos (definido arriba como un puntero a tipoNuevo) y un String y lo que tengo que hacer es agregar el String al map que tiene el tipoNuevo
Mas o menos asi:
Código
  1. void agregar(tipoDeDatos p, string clave, int valor)
  2. {
  3.   p->mapa[clave] = valor;
  4. }

Un saludo
165  Programación / Programación C/C++ / Re: Lista en c++ Canciones mas escuchadas en: 2 Diciembre 2014, 01:17 am
de todas fromas es la primera vez que uilizo este lenguaje y no tengo ni idea, ya me he leid un monton de ejemplos y he hecho diferentes ejercicios, pero esoy hecha un lio.
Va a ser difícil que termines el programa si como indicas apenas empiezas con C++ y ademas debes desarrollar una clase para el manejo de listas vinculadas.

Para recomendaciones sobre libros y cursos sobre C++ utiliza el motor de búsqueda, en el caso de listas vinculadas te recomiendo los tutoriales de la Stanford CS Education Library (en C pero puedes aplicarlos en tu caso con solo modificaciones menores).

Un saludo
166  Programación / Programación C/C++ / Re: Ayuda lista de mezcla de nuemros en: 30 Noviembre 2014, 02:37 am
No quiero sonar grosero pero ese programa no solo no compila, tiene demasiados errores.

El mejor consejo que se me ocurre en este momento es empezar desde cero con el lenguaje C, una vez manejes lo básico ya puedes pensar en desarrollar el programa que mencionas. Para recomendaciones sobre cursos y libros de calidad puedes utilizar el motor de búsqueda de los foros.

Un saludo
167  Programación / Programación C/C++ / Re: Como hacer que un bucle no se infinito cuando ingreso letras en un switch en: 30 Noviembre 2014, 02:26 am
En tu programa estas combinando C con C++ lo cual no es una buena idea, también deberías evitar el uso de fflush(stdin) y getch(), el porque de ello en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.

El problema que mencionas se debe a que en el bucle principal (en la función main) no descartas los caracteres inválidos para la conversión (numérica). Soluciones hay varias solo tienes que utilizar el motor de búsqueda de los foros para encontrar los temas relacionados (validar la entrada).

Un saludo
168  Programación / Programación C/C++ / Re: segmentation fault en mi programa en: 29 Noviembre 2014, 16:37 pm
Como ya te menciono avesudra el error es utilizar la función strcat en la linea:
Código
  1. strcat(rutatemp, RUTA);
Esto porque si no se inicializa una variable su valor inicial es no definido o basura. La forma mas fácil de solucionarlo es utilizando en su lugar la función strcpy:
Código
  1. strcpy(rutatemp, RUTA);

También hay que cambiar la definición de la funcion main, indicar su valor de retorno y evitar el uso de la función gets, mas información en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Un saludo
169  Programación / Programación C/C++ / Re: Empezando en C++ en: 26 Noviembre 2014, 17:02 pm
1. He leído que Windows limita mucho, que si voy a empezar sería bueno empezar programando C++ en Linux. ¿Hasta que punto es cierto esto?
Es falso. Cuando se aprende C y/o C++ se empieza por su forma estándar ya que esta garantizada sin importar el compilador y plataforma.

2. En el caso de que fuera mejor empezar en Linux, ¿Sería mejor incluso si no tengo ni idea de este S.O?
En el aprendizaje de cualquier materia mientras menos variables mejor. Tienes dos opciones, aprender:
A) C++ con un cierto manejo del SO (MS Windows)
B) C++ Y el SO (Linux)

Ambas son viables pero la primera es la mas fácil.

Un saludo
170  Programación / Programación C/C++ / Re: El bendito stdin... en: 26 Noviembre 2014, 05:16 am
Algunos comentarios:

* No es necesario inicializar la variable "newPtr" a NULL ya que en su primer uso almacenas el valor de retorno de realloc.
* No es necesaria la conversión explicita en la sentencia:
Código
  1. ptrString = (char *) newPtr;
* El valor de sizeof(char) siempre es igual a uno, no es necesario indicarlo.
* En la comparación dentro del bucle debes utilizar "i == p4kB - 1", esto para reservar el ultimo elemento del bloque para el '\0'.
* La única forma en que la variable "ptrString" puede almacenar NULL es si la primera reserva de memoria falla (ya que las siguientes con realloc las manejas dentro del bucle), por ende si colocas el bucle dentro de una sentencia condicional if te ahorras varias comprobaciones.
* No es necesario utilizar strlen para conocer la longitud de la cadena ya que ese valor ya lo tienes almacenado en la variable "i".

Con los cambios:
Código
  1. char *leerLinea(void)
  2. {
  3.   int c;
  4.   size_t p4kB = 4096, i = 0;
  5.   void *newPtr;
  6.   char *ptrString;
  7.  
  8.   if ((ptrString = malloc(p4kB)) != NULL){
  9.      while ((c = getchar()) != '\n' && c != EOF){
  10.         if (i == p4kB - 1){
  11.            p4kB += 4096;
  12.  
  13.            if ((newPtr = realloc(ptrString, p4kB)) != NULL)
  14.               ptrString = newPtr;
  15.            else {
  16.               free(ptrString);
  17.               return NULL;
  18.            }
  19.         }
  20.  
  21.         ptrString[i++] = c;
  22.      }
  23.  
  24.      ptrString[i++] = '\0';
  25.      ptrString = realloc(ptrString, i);
  26.   }
  27.  
  28.   return ptrString;
  29. }

Un saludo
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 29 30 31 32 ... 160
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines