Число с думи

Да се напише програма, която позволява да се въведе положително многоцифрено число и отпечатва цифрите с думи.

Например: 123 – едно две три

Публикувано в 11а, 11в с етикети , . Постоянна връзка.

4 Responses to Число с думи

  1. Gadget каза:
     
    int chislo,chislo1,chislo2=0,tzifra,tzifra1,st=1;
        cout<<"Vavedete chislo: ";
        cin>>chislo;
        
        //Pomoshtno
        chislo1=chislo;
        
        //Razbirame kolko tzifreno e chisloto
        while(chislo1!=0){
            chislo1/=10;
            st*=10;                   
        }
        //Obrushtame reda na tzifrite
        while(chislo!=0){
            tzifra=chislo%10;
            chislo/=10;
            chislo2+=tzifra*st;
            st/=10;
        }
    
        
        //Izvejdame go s dumi
        while(chislo2!=0){
            tzifra1=chislo2%10;
            chislo2/=10;
            
            switch(tzifra1){
                case 1:cout<<" Edno ";break;
                case 2:cout<<" Dve ";break;
                case 3:cout<<" Tri ";break;
                case 4:cout<<" Chetiri ";break;
                case 5:cout<<" Pet ";break;
                case 6:cout<<" Shest ";break;
                case 7:cout<<" Sedem ";break;
                case 8:cout<<" Osem ";break;
                case 9:cout<<" Devet ";break;
                case 0:cout<<" Nula ";break;
            }
        }
            
        cout<<endl;
    

    Изтрийте предишното ми решение.

    • Данаил каза:

      Обръщаш реда на цифрите, за да не се налага да съобщаваш цифрите с думи в обратен ред. Хубаво :-) много добро решение!
      А има ли начин да извличаш цифрите на числото пак една по една, но като започнеш от най-старшата, а не от най-младшата?

  2. Gadget каза:
       
        int chislo,chislo1,tzifra,st=1;
        cout<<"Vavedete chislo: ";
        cin>>chislo;
        
        //Pomoshtno
        chislo1=chislo;
        
        //Razbirame kolko tzifreno e chisloto
        while(chislo1!=0){
            chislo1/=10;
            st*=10;                   
        }
        
        //Izvejdame go s dumi
        while(chislo!=0){
            st/=10;
            tzifra=chislo/st;
            chislo%=st;
            
            switch(tzifra){
                case 1:cout<<" Edno ";break;
                case 2:cout<<" Dve ";break;
                case 3:cout<<" Tri ";break;
                case 4:cout<<" Chetiri ";break;
                case 5:cout<<" Pet ";break;
                case 6:cout<<" Shest ";break;
                case 7:cout<<" Sedem ";break;
                case 8:cout<<" Osem ";break;
                case 9:cout<<" Devet ";break;
                case 0:cout<<" Nula ";break;
            }
        }
            
        cout<<endl;
    

    Не съм сигурен дали това имахте предвид.

Вашият коментар