Ver las NORMAS de estos Foros Web ZackYFileS Chat ZackYFileS Agregar a Favoritos Contactar con Administrador
 
 

TU PUBLICIDAD AQUÍ!!
Navegación
Retroceder   Foros ZackYFileS >
OTROS TEMAS DE INTERES - INTERNET:
> PROGRAMACIÓN Lenguajes: Visual Basic, C++, etc
Nombre de usuario
Contraseña
Configuración de UsuarioAyuda (FAQs)Nuevos PostsBuscar


Respuesta
 
Herramientas
Antiguo 11/12/2005, 23:57   #1
Snake12
Usuario Activo
 
Avatar de Snake12
 
Fecha de ingreso: 07/mar/2003
Mensajes: 118
Snake12 está en el buen camino
Arrow Ejercicio C++, averiguar si un numero es multiplo de 11

Hola de nuevo amigos, para variar vuelvo a estar liado, y de que manera, en C++. Esta vez el ejercicio dice así:

[QUOTE]Diseña un programa C++ que determine si un número introducido por teclado es o no múltiplo de once mediante el siguiente algoritmo: Un numero es múltiplo de 11 cuando la suma de sus dígitos pares menos la suma de sus dígitos impares es a su vez múltiplo de 11 o es 0.[/QUOTE]

Yo he hecho lo siguiente, pero no sé cómo hacer el cuerpo del algoritmo, es decir, que me sume los dígitos pares (que he llamado "par") y me sume los digitos impares (llamados "imp"):

[QUOTE]int main()
{
// Zona de Declaración de Variables del Programa principal
unsigned int num, par, imp, res;

cout << "Introduzca un numero y descubra si es multiplo de once: ";
cin >> num;
cout << '\n' << endl;

if ( num >= 11 )
{
for ( num;


res = par - imp;

if ( res % 11 == 0 || res == 0 )

cout << "Su numero es multiplo de once." << '\n' << endl;

else

cout << "Su numero no es multiplo de once." << '\n' << endl;

}

else

cout << "Su numero no es multiplo de once." << '\n' << endl;



system("Pause"); // Hacer una pausa
return 0; // Valor de retorno al S.O.
}[/QUOTE]

Bueno amigos, espero consejos, no pido la resolución del problema, simplemente que me orieten, o un ejemplo...l

Gracias por vuestro tiempo. Ta luego!!!
Snake12 está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Antiguo 12/12/2005, 00:09   #2
rober_pirata
Si no lo veo, es mentira
 
Avatar de rober_pirata
 
Fecha de ingreso: 20/ene/2003
Mensajes: 975
rober_pirata es un nombre conocido por todosrober_pirata es un nombre conocido por todosrober_pirata es un nombre conocido por todosrober_pirata es un nombre conocido por todosrober_pirata es un nombre conocido por todosrober_pirata es un nombre conocido por todos
supongo que para sacar los digitos que tiene el nmero deberias hacer divisiones en base 10 y quedarte con el resto, para sacar unidades, decenas, centenas etc.
para comprobar si es par/impar basta con hacer el mod 2, si el resto es 0, par lo sumas por un lado, y si el resto no es 0, es impar y lo sumas por el otro.

una vez tengas las sumas haces un mod 11 y si el resto es 0, es divisible y si no no.

Lo qu eno entiendo es porque liar tanto un programa que se resolveria haciendo mod 11 del numero recibido y listo.
__________________
en esta vida todo llega y tiene arreglo, solo hay que estar atento en momneto adecuado
rober_pirata está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 12/12/2005, 03:43   #3
Coke
Invitado
 
Mensajes: n/a

saludos...

yo lo haria asi....no lo copies, intenta hacerlo tu y mejoralo, lo he hecho en un ratito y seguro que se puede mejorar bastante.

Código PHP:
int main()
{
    
unsigned int numparimpresultado;
    
int paim;
    
    
cout << "Introduzca un numero y descubra si es multiplo de once: ";
    
cin >> num;
    
cout << '\n' << endl;
    
    if(
num >= 11) {
        
int hj[20];
        
int i 0;
        while(
num != 0) {
            
int fg num 10;
            
num num 10;
            
hj[i] = fg;
            
i++;
        }
        
im i;
        
imp 0;
        while( 
im 0) {
            
int gh hj[im 1];
            
imp imp gh;
            
im im 2;
        }
        
pa i;
        
par 0;
        while( 
pa 1) {
            
int gh hj[pa 2];
            
par par gh;
            
pa pa 2;
        }
        
resultado imp par;
    }    
    if(
resultado == 11 || resultado == 0) {
        
cout <<"El numero es multiplo de 11\n" <<endl;
    }
    else {
        
cout <<"El numero no es multiplo de 11\n" <<endl;
    }
    
system("pause");
    return 
0;

Coke.

Última edición por Coke; 12/12/2005 a las 22:02.

Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 12/12/2005, 22:33   #4
Coke
Invitado
 
Mensajes: n/a

saludos...

otra forma de hallarlo que se me ocurre, es esta...con menos lineas de codigo.

Código PHP:
int main()
{
    
unsigned int numparimpresultadofg;
    
bool v;
    
    
cout << "Introduzca un numero y descubra si es multiplo de once: ";
    
cin >> num;
    
cout << '\n' << endl;
    
    if(
num >= 11) {
        
false;
        
imp 0;
        
par 0;
        while(
num != 0) {
            
fg num 10;
            
num num 10;
            if(!
v) {
                
imp imp fg;
                
true;
            }else {
                
par par fg;
                
false;
            }
        }
        
resultado imp par;
    }    
    if(
resultado == 11 || resultado == 0) {
        
cout <<"El numero es multiplo de 11\n" <<endl;
    }
    else {
        
cout <<"El numero no es multiplo de 11\n" <<endl;
    }
    
system("pause");
    return 
0;

Coke.

Última edición por Coke; 13/12/2005 a las 02:20.

Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 16/12/2005, 12:33   #5
Snake12
Usuario Activo
 
Avatar de Snake12
 
Fecha de ingreso: 07/mar/2003
Mensajes: 118
Snake12 está en el buen camino
Muchas gracias Coke por tu inestimable ayuda, gracias. La primera manera en que lo has hecho no la comprendo bien, creo que utilizas un array, no?, pero es que los acabo de dar ayer, y como que no los domino mucho...

La segunda manera si la entiendo perfectamente y es bien sencillo el ejercicio.

No sé, o yo soy mu torpe y esto me cuesta, o es normal para los que empezamos en C++...pero hay ejercicios que no veas...

Bueno, muchas gracias de nuevo, y hasta otra...
Snake12 está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 17/12/2005, 01:49   #6
Coke
Invitado
 
Mensajes: n/a

si, es un array, he supuesto que todavia no habias dado vectores....los vectores se utilizan cuando no se sabe el espacio que vas a necesitar...cuando declaras un array tienes que poner el tamaño del mismo, ejemplo : int array[20];...mientras que en un vector no, ejemplo : std::vector<int> array;

aqui tienes el ejemplo con un vector...

[PHP]
#include<vector>
using namespace std;
int main()
{
unsigned int num, par, imp, resultado;
int pa, im;

cout << "Introduzca un numero y descubra si es multiplo de once: ";
cin >> num;
cout << '\n' << endl;

if(num >= 11) {
vector<int> hj;
int i = 0;
while(num != 0) {
int fg = num % 10;
num = num / 10;
hj.push_back(fg);
i++;
}
im = i;
imp = 0;
while( im > 0) {
int gh = hj[im - 1];
imp = imp + gh;
im = im - 2;
}
pa = i;
par = 0;
while( pa > 1) {
int gh = hj[pa - 2];
par = par + gh;
pa = pa - 2;
}
resultado = imp - par;
}
if(resultado == 11 || resultado == 0) {
cout <<"El numero es multiplo de 11\n" <<endl;
}
else {
cout <<"El numero no es multiplo de 11\n" <<endl;
}
system("pause");
return 0;
}

[/PHP]

Coke.

Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Respuesta


Usuarios viendo actualmente este tema: 1 (0 usuarios registrados y 1 visitantes)
 
Herramientas

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado

Ir al foro

Temas similares
Tema Autor Foro Resp. Último mensaje
Nueva version SIM-EMU 6.00 para GreenCard 2/GreenCard/SilverCard (DISPONIBLE) simemu TELEFONOS MÓVILES GSM 74 26/08/2006 13:54
Descubrir quien te llama con número oculto Sra.Chuflas TELEFONOS MÓVILES GSM 2 22/11/2004 23:33


!! ADVERTENCIAS !!: Las informaciones aquí publicadas NO CONTIENEN KEYS para la decodificación de ningún sistema: NO SON OPERATIVOS en sistemas SAT que precisen de su correspondiente suscripción.

ESTA TOTALMENTE PROHIBIDO EL USO DE ESTAS INFORMACIONES PARA LA MODIFICACIÓN O  DEFRAUDACIÓN DE SISTEMAS DE ACCESO CONDICIONAL.

ESTOS FOROS SON MODERADOS Y NO SE PERMITE LA PUBLICACIÓN DE INFORMACIONES ILEGALES POR PARTE DE LOS USUARIOS. EN CASO DE DETECTARSE ESTE TIPO DE INFORMACIONES, LOS USUARIOS SERÁN EXCLUIDOS DE ESTAS PÁGINAS.

USO DE COOKIES: Utilizamos COOKIES y de terceros para mejorar nuestros servicios y navegación por la web. Si continua navegando, consideramos que acepta su uso.  


La franja horaria es GMT +2. Ahora son las 09:50.


-------------------------------------------------------------------- --------------------------------------------------------------------

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
Hispaservicios - J.G.C - 29112549T - Rio Cinca, 2, 30 (50180) SPAIN.
Todos los derechos reservados. Prohibida cualquier reproducion total o parcial.


Foros Patrocinados por anunciantes.