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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 [122] 123 124 125 126 127 128 129 130 131 132
1211  Programación / Programación C/C++ / Re: Recursividad en C++, programas que no comprendo muy bien en: 26 Octubre 2012, 12:00 pm
Sólo tiene un pequeño fallo, no "termina" de hacer lo que quiere. En tú código se produce el resultado
1234567
  12345
    123
      1
cuando debería ser:
1 2 3 4 5 6 7
   1 2 3 4 5
     1 2 3
       1 2   <=== ésta faltaría en tú código.
        1
Saludos!.
1212  Programación / Programación C/C++ / Re: Variable i variable aux en: 26 Octubre 2012, 11:52 am
Hola, no entiendo muy bien el funcionamiento de la variable aux en este trozo de programa. Se supone que la variable aux queda con lo declarado en el for anterior pero la segunda parte no me queda clara. Se supone que la variable i es menos o igual que aux, que es todo lo del primer ciclo for:S, no entiendo como puede ser menos o igual a 3 instrucciones distintas.Gracias;)

for(i=0;  (frase=getchar())!='\n';  ++i)
                        aux=i;  
                        for  (i=0;  i<=aux;  ++i)
Y por qué no.
Fíjate en el resultado del printf en el siguiente caso, y observa como la variable i sufre un incremento de tres unidades por los tres i++ que se encuentra antes de volver a tomar un nuevo valor:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i,aux=0;
  7.    char frase[80];
  8. for(i=0; (frase[++i]=getchar())!='\n';++i)
  9.        {
  10.            aux=i;
  11.            for  (i=0;  i<=aux;  ++i)
  12.            printf ("aux=%d  i=%d\n",aux,i);
  13.        }
  14. return 0;
  15. }
Por cierto, dos puntualizaciones:
* tú código como está
Código
  1. for(i=0;  (frase=getchar())!='\n';  ++i)
te dará error.
* por qué vas cambiando de foro las casi mismas cuestiones?[/size]
1213  Programación / Programación C/C++ / Re: Detectar si un numero es entero o no en: 25 Octubre 2012, 21:54 pm
Citar
Fijate que he reeditado el post anterior.
Saludos
1214  Programación / Programación C/C++ / Re: Detectar si un numero es entero o no en: 25 Octubre 2012, 21:45 pm
pero sigo sin entender el error
Tal como lo tenías
Código
  1. " minutos = segundos/60; "
era una operación entre enteros y devolvía un entero, por eso siempre te daba SI.
Puedes seguir declarando a segundos como entero pero usar:
Código
  1. minutos = segundos/60.0;
O bien, siguiendo con segundos como entero,  hacer un casting:
Código
  1. minutos = (double) segundos/60;
1215  Programación / Programación C/C++ / Re: Recursividad en C++, programas que no comprendo muy bien en: 25 Octubre 2012, 21:37 pm
Muchas gracias Leonsansan, pero realmente es asi disminuye de a dos no de 1, es decir, en la primera linea saldra 1234567, en la segunda le restamos dos, 12345 y asi sucesivamente. Pero gracias. una cosa mas que libreria es esa <iomanip>???
Citar
Entonces el enunciado tiene un fallo ya que al llegar a 12 debajo va el 1 y si no tiene "hueco" irá debajo del 1 o debajo del 2, porque no tendrá sitio en medio de ambos.
La librería es para el uso de "setw· que permite configurar el "espaciado"

1216  Programación / Programación C/C++ / Re: Recursividad en C++, programas que no comprendo muy bien en: 25 Octubre 2012, 21:13 pm
Buen dia a todos, he comenzado a estudiar C++, y tengo dudas con las iteraciones y las estructuras repetitivas.

me dejaron un programa que pida un numero que este numero siempre sea impar y que despues imprima lo siguiente:

por ejemplo si introduces el 7

                                  1234567
                                    12345
                                      123
                                       12
                                        1


Citar
Creo que sería más exacto:
                                     1 2 3 4 5 6 7
                                        1 2 3 4 5
                                           1 2 3
                                            1 2
                                             1
Creo que lo he complicado demasiado, no estoy inspirado, pero es lo que te piden:
Código
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int a,cont =0;
  8.    cout << "Introduce un numero IMPAR: "<<endl;
  9.    cin >> a;
  10.    while (a>=0)
  11.       {
  12.            for (int i=1;i<=a;i++)
  13.                cout<<i<<" " ;
  14.            if (a<=3 )
  15.                {a-=1;cont ++;}
  16.            else
  17.                {a-=2;cont+=2 ;}
  18.            cout <<endl << setw(cont) << " ";
  19.       }
  20.    return 0;
  21. }
Redito: tengo que "ajustarlo" para números más grandes de 11.
1217  Programación / Programación C/C++ / Re: Como almacenar un numero de 10 cifras en: 25 Octubre 2012, 19:42 pm
Entonces que hago?
Reedite el post anterior, léelo o cambia simplemente de ejercicio.
1218  Programación / Programación C/C++ / Re: Como almacenar un numero de 10 cifras en: 25 Octubre 2012, 19:39 pm
y ya he elegido uno que me parece que pensando un poco puedo llegar a sacarlo, y ese es el primer problema que se me presenta, que tipo de variable puedo usar para almacenar un numero de 10 cifras, he probado de las siguientes maneras:
Y ninguna me ha servido, la única forma que se me ocurre es utilizando un array,
Citar
El número que aparece en el ejemplo no está en un fichero, es el número. Si usaramos otros lenguajes podríamos manejarlo tal como viene, pero en C el tamaño-en cifras- es muy limitado, a no ser que uses librerias para el manejo de números grandes, que las hay.
Te propondría que intentes el de la suma todos los números naturales menores que mil que sean múltiplos de 3 ó 5. Verás lo que puede dar de sí un ejemplo tan sencillo
1219  Programación / Programación C/C++ / Re: cin.getline y cin.ignore en: 25 Octubre 2012, 15:16 pm
Gracias leosansan, pero no soluciona el problema (lo he probado).
Citar
Es curioso, a mí entrando más de 10 caracteres si me funciona
1220  Programación / Programación C/C++ / Re: cin.getline y cin.ignore en: 25 Octubre 2012, 14:08 pm
¿Por qué no me pide por pantalla el valor de día?
Por la "basura" que queda en el buffer, entiéndase excesos de caracteres introducidos que hay que eliminar. Como aficionado te propongo esta solución:
Código
  1. #include <iostream>
  2. #include <limits>
  3. #include<stdio.h>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    char nombre[10] = "";
  9.    int dia = 0;
  10.    cin.getline(nombre, 10, '\n');
  11.    cin.ignore(numeric_limits<int>::max(), '\n');
  12.    while (getchar ()!='\n');
  13.    cout << "dia: ";
  14.    getchar ();
  15.    cin >> dia;
  16.    cout << "dia: " << dia << endl;
  17.  
  18.    return 0;
  19. }
  20.  
Saludos!.
Páginas: 1 ... 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 [122] 123 124 125 126 127 128 129 130 131 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines