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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con programa en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa en c++  (Leído 375 veces)
kritik_9

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con programa en c++
« en: 3 Noviembre 2018, 21:11 pm »

Hola estoy realizando el siguiente programa que haga esto :
Escriba un programa para obtener todos los números
naturales de dos dígitos  "m"  "n" que cumplan la condición m * n = a * b donde "a"
se obtiene de "m" con el intercambio de sus dígitos y "b" se obtiene de "n" de la
misma manera.
Estoy atascado en la parte donde hay que poner los numeros M y N para que se multipliquen, quiero que solo acepte el rango de 10-99 ya que si pongo M = 1 Y N =5 me lo multiplica de igual forma y no quiero que pase eso , he intendado hacerlo con while pero no funciona.
La otra parte donde no tengo ni idea de como hacerla es la de intercambiar los digitos. Aqui os pongo mi codigo por si alguien puede ayudarme.

Código:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int x,y,elegir,m1,n1;

cout << "1.Numeros de dos cifras M\n";
cout << "2.Numero de dos cifras N\n";
cout << "3.Multiplicacion M*N\n";
cout << "Elegir:"; cin >> elegir;
switch (elegir){
case 1:
cout<<"Numeros M\n";
for (int m=9;m<=99;m++){
    cout <<m<<endl;
} break;
case 2:
cout<< " Numeros N\n";
for (int n=9;n<=99;n++){
    cout<<n<<endl;} break;

case 3:
    do{
cout << "Escriba el numero М:"; cin >> m1;
cout << "Escriba el numero N:"; cin >> n1;
if (x = m1*n1){
cout << "El resultado es :" << x;
}
} while ((m1<10)&&(n1<10)||(m1>99)&&(n1>99));





    break;


}

system("pause");
}




En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.711



Ver Perfil
Re: Ayuda con programa en c++
« Respuesta #1 en: 4 Noviembre 2018, 05:55 am »

Saludos,

- Supongo que no entiendo bien tu enunciado, siendo bastante literal hay que generar números de dos dígitos (10 al 99) para "m" y lo mismo para "n", y comprobar que se cumpla:

Ej.: 46 * 32 = 64 * 23

- Te presento el siguiente algoritmo que hace eso que no sé explicar :xD, básicamente se "invierte" el número utilizando Residuos, Divisiones y Multiplicaciones de 10. Ej.:

(46 % 10) * 10 => 60

(46 - (46 % 10)) / 10 => 4

60 + 4 => 64

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.  int m, n, a, b;
  6.  for (m = 10; m <= 99; m++) {
  7.    for (n = 10; n <= 99; n++) {
  8.      a = ((m % 10) * 10) + ((m - (m % 10)) / 10);
  9.      b = ((n % 10) * 10) + ((n - (n % 10)) / 10);
  10.      if (m * n == a * b) {
  11.        cout << m << " x " << n << " = " << a << " x " << b << endl;
  12.      }
  13.    }
  14.  }
  15.  cin.get(); // Alternaiva portable a system("pause");
  16.  return 0;
  17. }

- También se podría hacer manipulando punteros, o indexando y convirtiendo String ...


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 1,471 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 1,697 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 2,522 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 1,316 Último mensaje 16 Junio 2014, 18:13 pm
por Noxware
AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
Programación C/C++
EduardoSaenz 4 2,368 Último mensaje 7 Mayo 2016, 23:38 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines