Salutare tuturor! Astazi am dat un test la informatica,si vreau sa va intreb pe voi daca este corect modul in care am rezolvat un exercitiu pe care l-am avut la test: Cerinta: Se citeste un numar natural n de 3 cifre distincte.Sa se afiseze cel mai mic numar de trei cifre care se poate forma cu cifrele numarului dat. Rezolvarea mea(pseudocod): start citeste n a<- (n/100) %10 b<- (n/10) %10 c<- n%10 (am calculat cifrele numarului aici) daca a>b && b>0 atunci aux<- a , a<-b , b<- aux daca a>c && c>0 atunci aux<- a, a<-c, c<- aux daca b>c atunci aux<- b, b<-c , c<-aux (am ordonat cifrele numarului aici) scrie a*100+b*10+c (am scris numarul dupa ordonarea cifrelor aici) stop In mod normal din cate am inteles ar trebui la sfarsit pusa conditia "daca a==0 scrie "eroare"(pentru ca numarul nu mai e de trei cifre),altfel scrie a*100+b*10+c" La mine problema e "de ce am pus b>0 si c>0".Dupa cum m-am gandit eu,conditiile acelea previn interschimbarea dintre a si b respectiv dintre a si c daca b sau c sunt egale cu 0,ca altfel daca se interschimbau,indiferent daca b sau c erau egale cu 0 sau nu,putea sa devina un numar de 2 cifre sau ,in cazuri particulare, de o cifra.Astfel evit sa mai pun conditia cu a==0 deoarece,dupa algoritmul meu,cifra a nu poate sa devina 0 dupa ordonarea crescatoare a cifrelor numarului n. Voi ce parere aveti?E corect?E gresit?Am uitat sa scriu ceva?Va rog sa imi spuneti in comentarii PS:Sorry for the long post PPS: Daca trebuia pusa problema in categoria "Ajutor",imi cer scuze.