Răspuns :
Pentru ca nu stiu in ce limbaj de programare vrei raspunsul iti dau ordinea algoritmica necesara pentru a rezolva problema:
1. realizezi doua functii(un subprogram), functii ce iti vor cauta cifra maxima si cifra minima dintr-un numar primit ca parametru
definesti in functia maxm un auxiliar ce va prelua valoarea parametrului si o variabila mx egala cu zero.
cat timp exista auxiliarul, verifici daca mx este mai mic decat restul auxiliarului la 10, daca este mx= restul respectiv. tot aici dupa verificarea asta, imparti auxiliarul la 10 sa scapi de ultima cifra.
Functia maxm va returna maximul
la fel faci si cu minimul, insa mn=10 si verifici daca mn este mai mare decat restul. Va returna minimul
Dupa care in functia main citesti numerele dintr-un fisier cu un while, formand un vector de lungime n( variabila pe care o initializezi cu zero inainte) pe cpp ar fi asa:
n=0;
ifstream fin("p1.txt");
while(!fin.eof()){fin>>v[n++];} n--;
Dupa care parcurgi vectorul si aplici functiile de la pct.1 la fiecare element al vectorului.
Programarea este bine sa o inveti logic, altfel se numeste doar pierdere de timp daca doar copiezi coduri si le memorezi mecanic.
int ciframn(int n){
int cifmin=10,aux=n;
while(aux){
if(cifmin>aux%10){cifmin=aux%10;}
aux/=10;
} return cifmin;}
int ciframx(int n){
int cifmax=0,aux=n;
while(aux) {
if(cifmax<aux%10){cifmax=aux%10;}
aux/=10; }
return cifmax;}
int main(){
int n,arr[100];
cout<<"n=";cin>>n;
cout<<"\nIntroduceti elementele array-ului\n";
for(int j=0;j<n;j++){cin>>arr[j];}
for(int i=0;i<n;i++){cout<<arr[i]<<"\t"<<ciframn(arr[i])<<"\t"<<ciframx(arr[i])<<endl;}
cout<<endl; return 0;}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!