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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Prevenir la introducción de un valor de punto flotante en un entero en: 3 Enero 2012, 19:30 pm
Me habia quedado con la duda pero la solucion de do-while funciona perfectamente, muchas gracias a todos!!  :)
2  Programación / Programación C/C++ / Prevenir la introducción de un valor de punto flotante en un entero en: 25 Agosto 2011, 23:00 pm
Resulta que tengo un problema, tengo una variable entera, al introducir un numero que sea por ejemplo, .1, el programa, al momento de ejecutar se cicla y no hay manera de pararlo(solo con Ctrl + c). Eh intentado un montón de cosas pero ninguna funciona. :huh:
No eh podido implementar una excepción, intente con sentencias if, bucles while, del tipo "si n no es mayor que cero, no ejecutes", pero lo único que consigo es lo que esta en la screenshot de abajo. :-(
Aqui esta el pedazo de código en donde quiero implementar el "filtro":
Código
  1. int main(){
  2. /* PEDIR ELEMENTOS */
  3.  int n=0;
  4.  printf("numero de elementos para el vector:\n");
  5.  scanf("%d", &n);
  6. }


Horriblemente se cicla...

Gracias de antemano. :)

3  Programación / Programación C/C++ / Re: Correr Programa c en: 5 Agosto 2011, 06:56 am
No encuentro por que la falla, pero lo seguire pensando (esta es una respuesta rapida)  :-X
Te recomiendo que metas todo esto en una función para que después la llames y asi sea más fácil de leer tu código   :-*
Código
  1.  
  2. //TODO ESTO EN UNA FUNCION
  3.           printf("Burbuja \n");
  4.                     #define TAM 10000
  5. int a[TAM], temp, i, j;
  6.  
  7. clrscr();
  8.  
  9. randomize(); //Inicializa el generador de numeros aleatorios
  10.  
  11. printf ("Llenando arreglo con números aleatorios\n");
  12.  
  13. for (i=0; i< TAM; i++)
  14. a[i]=random(10000);
  15.  
  16. //Implementacion de Ordenamiento por burbuja de mayor a menor
  17.  
  18. for (j=1; j <= TAM; j++)
  19.  
  20. for (i=0; i< TAM-1; i++)
  21.  
  22. if (a[i] < a[i+1]){
  23.  
  24. temp = a[i];
  25. a[i] = a[i+1];
  26. a[i+1] = temp;
  27. }
  28.  
  29. printf ("\nArreglo ordenado\n");
  30.  
  31. for (i=0; i< TAM; i++)
  32. printf ("a[%d] = %d\n", i, a[i]);
  33.  
  34.                    break;
  35.  
  36.  
  37.  
4  Programación / Programación C/C++ / Re: Correr Programa c en: 5 Agosto 2011, 04:08 am
Me imagino que lo que tratas de hacer es una vez que, digamos, selecciones la opción burbuja, se ejecute todo el procedimiento.
Para llamar a una función seria mas o menos esto:

Código
  1. case '1':
  2.                    printf("Burbuja \n"); //aqui solo imprime Burbuja
  3.                    metodo_burbuja(); // Realmente aqui se llama a la funcion (supongo que no necesita argumentos)
  4.                    break; //despues de cada case debe poner un break.

Espero haberte ayudado ;D

¿Tienes un programa 'Burbuja' (el .exe o a.out) o un método Burbuja() ?
Si es el primer caso échale un vistazo a execv y en el segundo caso simplemente llama al método.
En el caso de que necesites que se ejecute otro programa externo investiga sobre la librería execv como dice enrmarc (no la conozco)
5  Programación / Programación C/C++ / Re: Duda con bloque for al aumentar una variable en: 4 Agosto 2011, 20:25 pm
Woah! :-[
Ya comprendí lo del  bucle for, i ya estaba en 5, por eso saltaba hacia imprime_i() :P, sobre lo de la excepción que quería hacer, voy a investigar e implementar lo que dicen.
Muchas gracias a todos  ;D
6  Programación / Programación C/C++ / Duda con bloque for al aumentar una variable en: 4 Agosto 2011, 05:36 am
Hola! (siento tener que publicar esto, pero por más que le di vueltas, no encuentro una respuesta)
Estoy practicando los bucles for y me surgió un "problema" que me saco de onda:
No encuentro como explicar mi "problema" sin antes mostrar la salida...

Salida:

i vale 0
i vale 1
i vale 2
i vale 3
i vale 4
imprime_i() INICIALIZADA
i vale 5


y aqui el codigo:
Código
  1. #include <stdio.h>
  2. void imprime_i(int x);
  3.  
  4. int main(){
  5.  int i, a = 5;
  6.  for(i=0; i < a; i++){
  7.    printf("i vale %d\n", i);
  8.  }
  9.  imprime_i(i);
  10.  return 0;
  11. }
  12.  
  13. void imprime_i(int x){
  14.  
  15.  printf("imprime_i() INICIALIZADA\n\
  16. i vale %d\n", x);
  17. }
  18.  
  19.  
  20.  

¿Por que se imprime 0 en el primer ciclo si se supone que se incrementa 1 y después se imprime? :-(
¿No se supone que tendría que valer 4 al final? :huh:

Aprovechando este post tengo una pregunta más:
Hice un programa que pide un valor numérico, pero al introducir una letra, se vuelve a repetir (como si fuera un bucle infinito) ¿como puedo hacer una excepción para controlar eso?

Gracias de antemano (:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines