Enunț
Se citește de la tastatură un număr întreg cu maxim 8 cifre. Să se elimine o cifră aleasă astfel încât numărul rămas să aibă cifrele în ordine crescătoare. Dacă sunt mai multe soluții se vor afișa toate, iar dacă problema nu are nici o soluție se va tipări un mesaj.Exemplu: pentru m=2435, poate fi eliminată cifra 3 rămânând numărul 245, sau cifra 4 rămânând numărul 235.
Rezolvare
#include <iostream>
#include <cstring>
using namespace std;
#include <cstring>
using namespace std;
int main()
{
char s[9];
int l;
{
char s[9];
int l;
cout << "Introduceti un numar: ";
cin >> s;
l = strlen(s);
cin >> s;
l = strlen(s);
bool existaSolutie = false;
for (int i = 0; i < l; ++i)
{
char s2[9];
strcpy_s(s2, s);
for (int i = 0; i < l; ++i)
{
char s2[9];
strcpy_s(s2, s);
for (int j = i + 1; j < l; ++j)
{
s2[j - 1] = s2[j];
}
s2[l - 1] = '\0';
{
s2[j - 1] = s2[j];
}
s2[l - 1] = '\0';
bool sc = true;
for (int j = 1; j < l - 1; ++j)
{
if ((s2[j - 1] - '0') > (s2[j] - '0'))
{
sc = false;
break;
}
}
for (int j = 1; j < l - 1; ++j)
{
if ((s2[j - 1] - '0') > (s2[j] - '0'))
{
sc = false;
break;
}
}
if (sc)
{
cout << s2 << endl;
existaSolutie = true;
}
}
{
cout << s2 << endl;
existaSolutie = true;
}
}
if (!existaSolutie)
{
cout << "Nu exista solutii." << endl;
}
{
cout << "Nu exista solutii." << endl;
}
return 0;
}
}
Vizual
Explicații
strcpy_s este varianta sigură a strcpy în Visual C++, folosită fiindcă strcpy dă eroare de compilare.Exemple de încercat:
- 123456
- 5432
Niciun comentariu:
Trimiteți un comentariu