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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Menu string en: 24 Febrero 2015, 01:49 am
Hola, tengo una duda a la hora de hacer un menú que devuelva la opción elegida por el usuario: el problema es que tengo que hacer un do-while para que vaya verificando si la opción es correcta y hay opciones numéricas (1,2,3,etc) y una letra(q-para salir-).

string menu(){

   string opcion;

do{
   1-
   2-
   etc
   q-

 }while(opcion.length()>1 || opcion[0]=='0' || (opcion[0]>'q' || opcion[0]<'q'));

}

Al teclear 0 o una letra distinta de 'q' sí que se repite el do-while, pero se repite al teclear un número del 1 al 9 y no quiero que ocurra eso. A ver si me podéis ayudar.
Gracias de antemano.
2  Programación / Programación C/C++ / mayor divisor primo en: 13 Febrero 2015, 22:14 pm
Tengo que obtener el mayor divisor primo dado un numero n pero no me sale:

Código
  1. bool esPrimo(int n){
  2. bool numPrimo;
  3. int i;
  4.  
  5. numPrimo = false;
  6. int m = 0; // los nº primo solo tienen dos divisores: el mismo y 1. si se pasa no es primo
  7. bool primoEncontrado = false;
  8.  
  9. for (i = 1;  n % i == 0 && !primoEncontrado; i++){
  10.  
  11. if (n%i>0){
  12. numPrimo = false;
  13. primoEncontrado = false;
  14. }
  15. else{
  16. numPrimo = true;
  17. primoEncontrado = true;
  18. }
  19. }
  20. return numPrimo;
  21. }
  22.  
  23.  
  24. int mayorDivisorPrimo(int n){
  25. int i,mayor;
  26.  
  27. mayor = 0;
  28.  
  29. for (i = 1; i <= n; i++){
  30. if (n%i == 0){
  31. if (esPrimo(i) == true){
  32. if (i > mayor){
  33. mayor = i;
  34. }
  35. }
  36. }
  37. }
  38. return mayor;
  39. }
  40.  

Mod: Tema modificado evita escribir en mayúsculas (título) y usa etiquetas GeSHi para mostrar tu codigo
3  Programación / Programación C/C++ / eliminar componente array en: 13 Febrero 2015, 19:32 pm
Hola de nuevo xD,

tengo un problema con este programa:

int eliminaTodasApariciones(char orig[], char c, char dest[]){
   int i,j,numElim;

   numElim = 0;
   
   for (i = 0; i < strlen(orig); i++){
      for (j = i; j < strlen(orig); j++){
         
         if (orig != c){
            dest[j] = orig;
            dest[j + 1] = '\0';
         }
         
      }
      if(orig == c){

         numElim++;

      }
   }

   return numElim;
}

Se supone que tiene que eliminar el caracter que indique en la cadena pero al ejecutarlo pongo "hola" y el caracter a eliminar ('o') y en lugar de devolverme "hla" me devuelve hhla.
AYUDA please
4  Programación / Programación C/C++ / PIRAMIDE en: 13 Febrero 2015, 18:29 pm
Hola,

a ver si alguien me puede ayudar:

tengo que hacer una pirámide del tipo:
1
12
123
1234
123
12
1

Dependiendo del numero que le des, en este caso 4.
Solo he podido llegar a la mitad, pero no sé cómo descender.
El prototipo de funcion es: int piramide(int n);

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