# PBinfo #4317 – Cifre19 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţă
Să se scrie un program care citește un număr natural n cu cifrele distincte și schimbă între ele cea mai mare și cea mai mică cifră a lui n.

Date de intrare
Programul va citi de la tastatură numărul n.

Date de ieşire
Programul va afişa pe ecran valoarea lui n, după transformarea cerută.

Restricţii şi precizări

10 ≤ n < 1.000.000.000
cifrele lui n sunt distincte

Exemplu 1
Intrare

31526
Ieşire

36521

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
	int n, m , max = -1, min = 10;
	cin >> n;
	m = n;
	while(m)
	{
		int c = m % 10;
		if(c > max)
			max = c;
		if(c < min)
			min = c;
		m /= 10;
	}
	int p = 1;
	while(n)
	{
		int c = n % 10;
		if(c == max)
			c = min;
		else
			if(c == min)
				c = max;
		m += c * p, p *= 10;
		n /= 10;
	}
	cout << m << endl;
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/4317)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/4317/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-4317/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
