Dev - C++ - Por favor ayuda con recursividad

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Por favor ayuda con recursividad

Publicado por Reivaj (1 intervención) el 23/04/2020 03:58:05
Ps la verdad soy nuevo en el foro y también en la programación especialmente en el tema de recursividad.
Me uni por que siempre que tuve una duda antes estaba respondida aquí, pero no encuentro muchos temas sobre recursividad.
En fin espero que pueda responder alguien estoy tratando de resolver este problema...
Escribir un proceso que lleve el mayor de los dígitos al final de un número.
Ej. x=3828731; MoverMayor(x) -> x=3827318
.
Hasta ahora solo he podido que recorra todo el número hasta reconocer el primer dígito mayor pero no puedo hacer que lo coloque al final del número
1
2
3
4
5
6
7
8
9
10
11
void MoverMayor(Cardinal &x)
{
	if (x%10==DigMay(x)){
		x=x/10;
	}else{
		Byte dig = x%10;
		x=x/10;
		MoverMayor(x);
		x=x*10+dig;
	}
}
Enserio apreciaria que pudieran responder mi duda y si me recomiendan algun lugar del que aprender recursividad se lo agradeceria enormemente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Por favor ayuda con recursividad

Publicado por Alfil (1444 intervenciones) el 23/04/2020 19:52:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    int numero;
 
    cout << "\nIntroduce un numero: ";
    cin >> s;
 
    char max = s[0]; int index = 0;
    for (size_t i = 0; i < s.size(); i++)
    {
        if (max < s[i])
        {
            max = s[i];
            index = i;
        }
    }
 
    s.erase(index, 1);
    s.push_back(max);
 
    istringstream(s) >> numero;
 
    cout << "\nNumero: " << numero << endl;
 
    return EXIT_SUCCESS;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar