Se citeste un nr n cu cel mult 10 cifre. Se cere:
a) sa se formeze un nou numar obtinut prin eliminarea cifrei maxime din nr initial(daca apare de mai multe ori se vor elimina toate aparitiile)
b)sa se afiseze cea mai mica cifra impara care nu apare in numar. Daca toate cifrele impare exista in numar, se va afisa msaajul EXISTA TOATE
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main() {
long long n;
long long m;
int max=0;
cout<<"n=";
cin>>n;
m=n;
while(m!=0)
{
if(max<m%10)
max = m%10;
m = m/10;
}
m=n;
cout<<max<<endl;
long long numar_nou=0;
while(m!=0)
{
if(m%10!=max)
numar_nou=numar_nou*10+m%10;
m=m/10;
}
m=numar_nou;
numar_nou=0;
while(m!=0)
{
numar_nou=numar_nou*10+m%10;
m=m/10;
}
cout<<"N="<<numar_nou<<endl;
int v[5]={0};
while(n!=0)
{
if(n%10%2==1)
v[(n%10)/2]++;
n=n/10;
}
bool sem=false;
for(int i=0; i<5; i++)
if(v[i]==0)
{
cout<<i*2+1;
sem=true;
break;
}
if(sem==false)
cout<<"EXISTA TOATE"<<endl;
return 0;
}
#include <iostream>
using namespace std;
int cifre[11], fr[10];
int main()
{
long long num, maxim=0, k=0, cif, i, gasit=0;
cout << " introdu nr natural cu cel mult 10 cifre "; cin >> num;
while (num!=0)
{
cif=num%10;
if (cif>maxim) maxim=cif;
if (cif%2==1) fr[cif]=1;
++k; cifre[k]=cif;
num=num/10;
}
long long m=0;
for (i=k; i>0; --i)
if (cifre[i]!=maxim) m=m*10+cifre[i];
cout << "a) numarul modificat: " << m << "\n";
for (i=1; i<10; i+=2)
if (fr[i]==0) { gasit=i; break; }
if (gasit==0) cout << "b) EXISTA TOATE";
else cout << "b) cea mai mica cifra impara ca lipseste in numarul dat este " << gasit;
return 0;
}