Jump to content

ldd.man25

Members
  • Posts

    86
  • Joined

  • Last visited

Everything posted by ldd.man25

  1. 3. Se introduc de la tastatură n numere. Să se afiseze cea mai mare cifră a fiecărui număr. (exp : n=3, a={123, 371, 459} => {3, 7, 9}) Stiu cum se face programelul de selecteaza cea mai mare cifra a unui numar, nudemerirea mea e cum fac partea cu "se introduc n numere".Cate variabile trebuiesc declarate la inceput? Exista vre un mod de a face asa ceva? Sunt putin confuz, in exemplu vad o singura variabila 'a' cuprinsa intre acolade.Are cineva o idee?
  2. Am inteles ce vrei sa zici ^. Cred totusi ca mai repede aflu inversul si continui programul, nu ca avea varianta nu ar functiona, or sa o scriu si pe aia, dar maine cel mai probabil, m-a doborat oboseala si ma pun la somnic . #include <iostream> using namespace std; int main() { unsigned n,c,inversul,a=0,s=0,p=1; cout<<"Introduceti numarul:";cin>>n; inversul=n%10; n=n/10; while(n!=0) { c=n%10; inversul=inversul*10+c; n=n/10; } n=inversul; while(n!=0) { a++; if(a%2==0) { c=n%10; s=s+c; p=p*c; } n=n/10; } cout<<"Suma cifrelor care ocupa pozitiile pare este:"<<s<<endl; cout<<"Produsul cifrelor care ocupa pozitiile pare este:"<<p; return 0; }
  3. Voilà! #include <iostream> using namespace std; int main() { unsigned nr,s=0,p=1,cf,c=0,nr_cifre=0,temp; //declar variabilele cout<<"Introduceti numarul:";cin>>nr; //introduc numarul temp=nr; //lui "temp" ii atribui valoarea numarului introdus while(temp!=0){nr_cifre++;temp=temp/10;} //stabilesc cate cifre are numarul introdus. if(nr_cifre%2!=0) //daca numarul de cifre este impar, intru in programul lui hiey { while(nr!=0) { c++; if(c%2==0) { cf=nr%10; s=s+cf; p=p*cf; } nr=nr/10; } } cout<<s<<endl<<p; return 0; } Dar da, functioneaza doar daca numarul de cifre este impar, programul este structurat putin dezordonat, l-am scris acum la ora asta, me-a luat 10 min. Intrebarea este, ce fac daca are un nr par de cifre?Putea sa sar peste if(nr_cifre%2!=0) daca aflam "inversul" numarului introdus si foloseam ce a zis hiey? Daca da, cum aflu "inversul"? EDIT: sunt mai destept ca niciodata seara asta, am gasit si cum sa calculez inversul unui nr. #include <iostream> using namespace std; int main() { unsigned n,c,inversul; cout<<"Introduceti numarul:";cin>>n; inversul=n%10; n=n/10; while(n!=0) { c=n%10; inversul=inversul*10+c; n=n/10; } cout<<inversul; return 0; } E ceva facut la repezeala, da e bine..
  4. Cred ca pana la urma am sa-l intreb pe prof joia asta..Ce am facut eu dimineata asta e ce ne-a aratat si hiey mai sus...De la dreapta sa stanga se iau cifrele cu %10, da de la stanga la dreapta ? Poate trebuie numarul scris invers si dupa luat fiecare cifra? Adica la 1234 sa fie scris 4321 si calculatorul le lua pe 2 si 4 acuma. La 1234 le ia pe 3 si 1 dupa programul lui hiey.Nu stiu daca ati inteles ce vreau sa zic.
  5. Smart, nu m-as fi gandit la asa ceva Am sa incerc maine sa combin contorul cu treaba asta, pana atunci poate sa imi spuna cineva ce mai e gresit la incercarea mea cu contor de mai sus, in afara de maxima valoarea lui a? I-am dat lui n si 6 cifre si tot nu a mers. Si apropo: while(temp) spre exemplu este echivalent cu while(temp!=0) ?
  6. Din cerinta se intelege ca trebuie ceva universal, pentru orice numar natural, sa inteleg de aici ca contorul e scos din calcul?
  7. #include <iostream> using namespace std; int main() { unsigned n,c,s=0,p=1,a; cout<<"Introduceti numarul:";cin>>n; for(a=1;a<=6;a++) if(a%2==0){c=n%10;s=s+c;p=p*c;n=n/10;}//am verificat daca contorul e par si am dat instructiunile pentru s si p cout<<"Suma cifrelor este:"<<s<<endl; cout<<"Produsul cifrelor este:"<<p; return 0; } Nu stiu ce are da nu me-a dat, am scris-o acum pe moment ce de abea am intrat in casa, pareri?
  8. Merciiii, cred ca acesta va fi primul program scris de mine in care folosesc contorul, gonna be funny EDIT: nu stiu ce sa zic atata timp cat sunt incepator, cred ca mai conteaza si daca numarul are un numar par sau impar de cifre. Suna ciudat dar ati inteles ce vreau sa zic...Si la contor valoarea finala as pune-o 6, din moment ce folosesc "unsigned",nu?Am grija sa nu introduc un nr mai mare de 6 cifre si aia e...Da sa vad cum il duc la cap intai
  9. Am gasit o lista cu exercitii suplimentare pentru "A02. PROGRAM C++ PENTRU CALCUL SUMEI ŞI PRODUSULUI CIFELOR UNUI NUMĂR" Asa ca m-am decis sa incep sa le rezolv in ordine, de la prima problema la ultima. 1. Se citeste un număr natural n. Să se afiseze suma si produsul cifrelor pare. (exp : n=1234 => s=2+4=6, p=2*4=8) (la rezolvare am mai adaugat suma si produsul cifrelor impare. #include <iostream> using namespace std; int main() { unsigned n,c,p1=1,s1=0,p2=1,s2=0; cout<<"Introduceti numarul:"; cin>>n; while(n!=0) { c=n%10; if(c%2==0){s1=c+s1; p1=c*p1;} else{s2=c+s2; p2=c*p2;} n=n/10; } cout<<"Suma cifrelor pare este:"<<s1<<endl; cout<<"Suma cifrelor impare este:"<<s2<<endl; cout<<"Produsul cifrelor pare este:"<<p1<<endl; cout<<"Produsul cifrelor impare este:"<<p2; return 0; } Am ajuns la exercitiul 2: 2. Se citeste un număr natural n. Să se afiseze suma si produsul cifrelor din pozitiile pare. Numerotarea pozitiilor se face începând cu cifra cea mai semnificativă. (exp : n=27156 => s=7+5=12, p=7*5=35) Incerc sa gasesc o solutie pentru "pozitia para", dar pana acum nu cred ca voi gasi una. Sfaturi?
  10. #include <iostream> using namespace std; int main() { unsigned n,c,r=0,p=1; cout<<"Introduceti numarul:";cin>>n; while(n!=0) { c=n%10; n=n/10; if(c!=0){r=c*p+r;p=p*10;} } cout<<"Rezultatul este:"<<r; return 0; Multumesc tuturor pentru raspunsuri! Am analizat primul reply al lui GodsOtherHand si am observat ca il elimina pe 0 dar rezultatul era "in oglinda", de "invers" nu ne-a spus proful nimic pana acum si am mers pe mana lui hiey19 editand putin programul anterior si am obtinut rezultatul dorit. Seamana cu programul lui Courage dar eu am mai initializat variabila 'c'. Multumesc inca o data!
  11. Problema suna asa: "Scrie un program care sa elimine cifra 0 dintr-un numar natural citit de la tastatura". Exemplu: daca n=10207, sa se afiseze 127. Sunt clasa a IX-a, profil mate info simplu, de abea ne-a predat algoritmul de prelucrare a cifrelor unui nr si algoritmul de determinare a max/min dintr-un sir de numere.Am rezolvat toata tema pana acum, me-a mai ramas aceasta problema.Stiu ca pentru multi de aici aceasa este o chestiune banala, dar chiar nu mai am nici o idee. off topic: Salut tuturor, sunt nou pe forum, aceasta este primul meu post , stiu ca e tarziu si etc, poate ca de asta nu reusesc sa gasesc o solutie, dar vreau sa aflu cum se rezolva, nu din criza de timp deoarece am timp pana joi si nici nu imi pune cineva '2' daca nu termin tema.Sunt doar foarte curios sa aflu raspunsul pentru ca pana acum imi place aceasta materie si vreau sa invat. ps: folosim C++, codeblocks.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.