Se citește un vector de numere intregi, de lungime n. Se cere:
a) sa se determine valoarea minima a elementelor din vector
b) presupunând ca minimul nu este unic, înlocuiți fiecare aparitie a elementului de valoare minima cu cifra sa maxima
Răspunsuri la întrebare
Rezolvare completă:
#include<iostream>
using namespace std;
int n,v[100],i,minim,nraparitii,nrcifre,x,cifmax=0,j,y,k,a[100];
int main()
{cout<<"Lungimea vectorului este :"<<" ";
cin>>n;
cout<<"Cititi elementele vectorului!"<<endl;
for(i=1;i<=n;i++)
cin>>v[i];
minim=v[1];
for(i=2;i<=n;i++)
if(v[i]<minim) minim=v[i];
cout<<"Valoarea minima din vector este:"<<" "<<minim<<endl;
for(i=1;i<=n;i++)
if(v[i]==minim) nraparitii++;
if(nraparitii==1) { cout<<"Minimul este unic!"<<endl;
return 0;}
else
{x=minim;
y=minim;
while(x>0) {nrcifre++;
x=x/10;}
for(j=1;j<=nrcifre;j++)
{a[j]=y%10;
y=y/10;}
for(j=1;j<=nrcifre-1;j++)
{for(k=j+1;k<=nrcifre;k++)
{if(a[j]<a[k]){ int aux=a[j];
a[j]=a[k];
a[k]=aux;}}}
cifmax=a[1];
for(i=1;i<=n;i++)
if(v[i]==minim) v[i]=cifmax;
cout<<"Vectorul obtinut este:"<<endl;
for(i=1;i<=n;i++)
cout<<v[i]<<" ";}
return 0;
}
Sper să fie bine, e o problemă greuță. :)