¿Me pueden ayuda con estos problemas en C++?

registro500

Bovino adolescente
#21
Y Y ((int)log10(numero) +1 ) != 3

!=3, en ese caso que me da a entender?, el numero 3 o 3 digitos?

Ahi estoy tambien algo confundido != 3

!=3, en ese caso que me da a entender?, el numero 3 o 3 digitos?

Ahi estoy tambien algo confundido
( en este caso !=3 --> diferente de 3 o distinto a 3) significa que si (int)log10(numero) +1 ) me da un resultado 4 o 5 6 o cualquiera que no sea 3 terminara el programa mostrando el mensaje.
Y si (int)log10(numero) +1 ) me da 3 no necesita terminar el programa si no continuar con el siguiente paso que es extraer los digitos.....
ejemplos :

Código:
      (int)log10(numero) +1 )!=3         accion o salida
                      4!=3               mostrar "numero no es de 3 digitos" y terminar el programa
                      3!=3               continuar con el sig  paso
                      7!=3               mostrar "numero no es de 3 digitos" y terminar el programa
                      1!=3               mostrar "numero no es de 3 digitos" y terminar el programa
espero que me haya hecho entender...
adelante.... saludos.
 

nemesis88

Bovino adicto
#23
haya, creo que entendi ((int)log10(numero) +1 ) != 3, todo ese codigo quiere decir hallar un numero x en base 10, y de ahi sumarlo 1, si este resultado me da diferente de 3 entonces poner pausa.

Ejemplo:

En mi calcu, el logaritmo ahora que me doy cuenta esta en base 10, entonces lo que hice fue log(123), me salio 2.089905..., pero como pusimos un int, entonces solo tomaria el 2 y ahora a eso le sumamos 1 => entonces me salio 3(cumplio con lo que se queria)
 

registro500

Bovino adolescente
#24
haya, creo que entendi ((int)log10(numero) +1 ) != 3, todo ese codigo quiere decir hallar un numero x en base 10, y de ahi sumarlo 1, si este resultado me da diferente de 3 entonces poner pausa.

Ejemplo:

En mi calcu, el logaritmo ahora que me doy cuenta esta en base 10, entonces lo que hice fue log(123), me salio 2.089905..., pero como pusimos un int, entonces solo tomaria el 2 y ahora a eso le sumamos 1 => entonces me salio 3(cumplio con lo que se queria)

Asi es ... estas en lo correcto nemesis88.... muy bien!!! :metal:

para los no comprendieron
como saber la cantidad de digitos de un numero solo aplicar el logaritmo
algunos ejemplos : ( | numero| es parte entera del numero)
log(123) = 2.089905... ---------> |2.089905...| + 1 = 3
log(1523) = 3.1826... --------> |3.1826...| + 1 = 4
log(654321) = 5.8157... --------> |5.8157...| + 1 = 6

para obtener la parte entera en c/c++ se coloca (int)A donde A es variable o una operacion como (int)a/b donde se obtendra la parte entera de esa operacion.

saludos.....
 

nemesis88

Bovino adicto
#26
Otro problema :(

Realizar un programa que permita ingresar un numero de veces y mostrar un *, por lineas hasta completar al numero de veces.

Ejemplo

veces: 4
*
**
***
****

Estare esperando a los lobos de la programacion, especialmente a registro500, un abrazo enorme para el.Salu2
 

registro500

Bovino adolescente
#27
Otro problema :(

Realizar un programa que permita ingresar un numero de veces y mostrar un *, por lineas hasta completar al numero de veces.

Ejemplo

veces: 4
*
**
***
****
Hi! tu problema esta sencillo....
debes usar 2 for anidados.... for(...){ for(...) {....}}
por ejemplo si N=4
el primer for debera contar 1 hasta el 4
el otro for debe ser encargado de imprimir los asteriscos segun le pida el primer for

espero que haya sido de ayuda.... saludos....
 

nemesis88

Bovino adicto
#29
pucha gracias brother cuando no tu sorprendiendome

Mientras los demas por lo visto ni llegan a tu tobillo porque hasta ahora ni responden.Salu2
 

nemesis88

Bovino adicto
#30
Hola a todos de nuevo soy yo, tengo un problema mas haber si me pueden ayudar, el ejercicio consiste en:

Escribir un programa que muestre en pantalla los números primos que se encuentran entre 2 y 100.

Aqui les dejo un ejercicio parecido a los que busco, lo malo es que quiero que liste los numeros primos.

Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
    /*Escriba un programa que muestre en pantalla los números 
    primos que se encuentran entre 2 y 100. */
    
    bool sw=true;
    int cont=2;
    int num;
    
    cout<<"Ingrese un numero: ";cin>>num;
    
    while(sw && cont<=num/2){
             if(num%cont==0){
             sw=false;
             }else{
             cont++;
             }
    }
    
    if(sw){
    cout<<"El numero es primo"<<endl;       
    }else{
    cout<<"El numero no es primo"<<endl;
    }
    
    
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Haber si alguien me puede dar una mano.Salu2
 

registro500

Bovino adolescente
#32
hola brother....
para resolver tu problema solo le colocás un for de 2 hasta 200 y reinicias los parametros.....con eso resolveras tu problema...
Código:
   [COLOR=Silver] //cout<<"Ingrese un numero: ";cin>>num;[/COLOR]
    
[B]    for(num=2; num<=100; num++ ){[/B]
[COLOR=Green]        sw=true;
        cont=2;[/COLOR]
[COLOR=Silver] [COLOR=Gray]       while(sw && cont<=num/2){
                 if(num%cont==0){
                    sw=false;
                 }else{
                    cont++;
                 }
        }
       [B][COLOR=Black] if(sw) cout<<"El numero es primo :"<<num<<endl;  [/COLOR][/B][/COLOR][B][COLOR=Black]    [/COLOR][/B][/COLOR]   
[B]    }[/B]
 

nemesis88

Bovino adicto
#33
hola brother....
para resolver tu problema solo le colocás un for de 2 hasta 200 y reinicias los parametros.....con eso resolveras tu problema...
Código:
   [COLOR=Silver] //cout<<"Ingrese un numero: ";cin>>num;[/COLOR]
    
[B]    for(num=2; num<=100; num++ ){[/B]
[COLOR=Green]        sw=true;
        cont=2;[/COLOR]
[COLOR=Silver] [COLOR=Gray]       while(sw && cont<=num/2){
                 if(num%cont==0){
                    sw=false;
                 }else{
                    cont++;
                 }
        }
       [B][COLOR=Black] if(sw) cout<<"El numero es primo :"<<num<<endl;  [/COLOR][/B][/COLOR][/COLOR]   
[B]    }[/B]
:)Eres genial, porfavor si pudieras pasame el libro de donde te haz vuelto un maestro en esto, para asi no molestarte mas.Salu2

Y como te decia algun dia te recompensare, eres genial:metal:
 

nemesis88

Bovino adicto
#34
No entendi para que sirve el
if (sw) cout<<"El numero es primo :"<<num<<endl;

Porque tengo que volver a escribirlo?

No entiendo muy bien el porque usar el sw
 

registro500

Bovino adolescente
#35
No entendi para que sirve el
if (sw) cout<<"El numero es primo :"<<num<<endl;

Porque tengo que volver a escribirlo?

No entiendo muy bien el porque usar el sw
no es dificil de entender
ese if(sw) es el que verfica si es la variable num es primo; por ejemplo si sw=true entonces el if(sw) sera verdadero y mostrara el mensaje El numero es primo...

ahora el por que if(sw) ?
eso es por que if(sw) es equivalente escribir if(sw==true)
otro detalle es que si ..... if(true) y if(1) siempre seran verdaderos por ejemplo :

if(true) { cout<<"yyy"; }

if(1) { cout<<"zzz"; }

if(false) { cout<<"es verdadero"; }
else{ cout<<"es falso"; }

el primer if mostrara : yyy
el segundo if mostrara : zzz
el tercer if : es falso

si se colocase como
sw=true
while(sw){ . . . . . . . . .. }
entonces repetira finitamente todo lo que esta dentro de del while hasta que sw cambie de valor.
ejmpl : mostrar la sig serie: 1,2,3,4

sw=true
i=1;
while(sw){
cout<<i<<endl;
if(i==4){ sw=false; }
i=i+1;
}


espero que me haya explicado....

P:eek: lo del mensaje "
El numero es primo " lo puedes borrar no es importante solo mostrar el num
 

nemesis88

Bovino adicto
#37
Ahora, como podrias hacer un programa que me imprima CS! en un gran bloque de letras dentro de un borde de *, seguidos por dos lineas en blanco, y despues el mensaje La Ciencia de la Computacion es Increible.

Porfavor apoyenme aunque sea por ultima vez.Salu2
 

nemesis88

Bovino adicto
#38
int i=0,j=0,k=0;

for(i=0;i<=60;i++){
cout<<"*";
}
cout<<endl;
cout<<endl;
for(k=1;k<=6;k++){
cout<<"c";
}
for(j=0;j<=7;j++){
cout<<"c"<<endl;
}
for(k=0;k<=6;k++){
cout<<"c";
}
cout<<endl;
cout<<endl;
for(i=0;i<=60;i++){
cout<<"*";
}
cout<<endl;
Hasta ahi me quede, lo malo es que no se como tabular otra letra al otro lado sin que se vea tan separado
 

registro500

Bovino adolescente
#39
Ahora, como podrias hacer un programa que me imprima CS! en un gran bloque de letras dentro de un borde de *, seguidos por dos lineas en blanco, y despues el mensaje La Ciencia de la Computacion es Increible.
Hola nemesis88 .... tu problema esta chingon... muy interesante... por lo que.... he notado ya lograste mostrar la letra C eso esta bien.... si embargo para mostrar mas letras seguidas debes hacer como los que hace una impresora ... imaginate si una impresora imprimiese letra por letra comensaria entrar y salir la hoja jeejejej seria muy chistoso seria como una impresora loca...jajaaa ...... pero sin embargo no es asi .... lo que hacen las impresoras es imprimir en linea recta por ejem imprimir la palabra hola seria algo asi...
1 paso
Código:
* *  ***   *    ***
2 paso
Código:
* *  ***   *    ***
* *  * *   *    * *
3 paso
Código:
* *  ***   *    ***
* *  * *   *    * *  
***  * *   *    ***
4 paso
Código:
* *  ***   *    ***
* *  * *   *    * *  
***  * *   *    ***
* *  * *   *    * *
5 paso
Código:
* *  ***   *    ***
* *  * *   *    * *  
***  * *   *    ***
* *  * *   *    * *
* *  ***   ***  * *
....en fin esa es la idea linkeo la forma en como lo podrias aca un ejemplo con numeros
http://snippets.dzone.com/posts/show/5244
estudialo bien... ahi esta toda la idea...

PD.- la forma en que fuciona es. lo haces corre el programa.... le colocas 2 12345
lo cual mostrara 12345 .... tambien puedes colocar 4 1234 mostrara 1234 pero mas grande que el anterior

estudialo en ese programa esta la clave.... saludos !!!
 

nemesis88

Bovino adicto
#40
[FONT=&quot]Se pide que al ingresar un número n, se muestre una matriz con los datos de la fila y columna[/FONT]
Generar la matriz:
Sean n=3;
[11][12][13]
[21][22][23]
[31][32][33]

 
Arriba