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.
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 [Seleccionar]
#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");
}