Средно аритметично на цифри

Да се въведе четирицифрено число и да се пресметне средното аритметично от  цифрите на числото, които са кратни на две.

По желание: да се потърси решение без използване на условна команда.

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

10 Responses to Средно аритметично на цифри

  1. kr1stiqn1995 каза:
    int a,b,c,d,chislo;
        cout<<"Vavedi 4cifreno ch-lo: "<<endl;
        cin>>chislo;
        if((chislo<=1000)||(chislo>=10000)){
        cout<<"Nevalidno ch-lo"<<endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    
    }
        a=chislo/1000;
        b=chislo/100%10;
        c=chislo/10%10;
        d=chislo%10;
        chislo=(a+b+c+d)/4;
        cout<<" Sr. aritmet. e: "<<chislo<<endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    
  2. Prizraka каза:

    int a,b,c,d,chislo;
    cout<<"Vavedi 4cifreno ch-lo: "<>chislo;
    if((chislo=10000)){
    cout<<"Nevalidno ch-lo"<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;

    }
    a=chislo/1000;
    b=chislo/100%10;
    c=chislo/10%10;
    d=chislo%10;
    chislo=(a+b+c+d)/4;
    cout<<" Sr. aritmet. e: "<<chislo<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;

  3. SvetoslavaPamela каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a,b,c,d,chislo;
        cout << "Vuvedete chetiricifreno chislo: "<<endl;
        cin>>chislo;
        if ((chislo<=1000) || (chislo>=10000)) 
        {
        cout <<"Nevalidno chislo!"<<endl;
       }
        a=chislo/1000;
        b=chislo/100%10;
        c=chislo/10%10;
        d=chislo%10;
        chislo=(a+b+c+d)/4;
        cout <<"Sredno aritmetichno e: "<<chislo<<endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  4. Gadget каза:
     
    int x,x1,x2,x3,x4,otg;
        cout<<"Vavedete chetiritzifreno chislo:"<<endl;
        cin>>x;
        //Razdelqme chisloto na tzifri
        x4=x/1000;
        x3=(x/100)%10;
        x2=(x/10)%10;
        x1=x%10;
        //Otdelqme chetnite cifri ot chisloto i otkrivame sbora
        otg=(bool(x4%2==0)*x4)+(bool(x3%2==0)*x3)+(bool(x2%2==0)*x2)+(bool(x1%2==0)*x1);
        cout<<"Sredno aritmetichnoto na chetnite cifri na chisloto e: "<<(double)otg/4<<endl;
        
        system("PAUSE");
        return 0;
    

    Първи начин

  5. Gadget каза:
     
    int x,x1,x2,x3,x4;
        double otg;
        cout<<"Vavedete chetiritzifreno chislo:"<<endl;
        cin>>x;
        //Razdelqme chisloto na tzifri
        x4=x/1000;
        x3=(x/100)%10;
        x2=(x/10)%10;
        x1=x%10;
        //Otdelqme chetnite cifri ot chisloto i otkrivame sbora im
        otg=(bool(x4%2==0)*x4)+(bool(x3%2==0)*x3)+(bool(x2%2==0)*x2)+(bool(x1%2==0)*x1);
        cout<<"Sredno aritmetichnoto na chetnite cifri na chisloto e: "<<otg/4<<endl;
        
        system("PAUSE");
        return 0;
    

    Втори начин (Още в началото задаваме променливана ‘otg’ да е от реален тип числа)

  6. krisizdravi95 каза:
     int a,b,c,d,sbor,p,broi;
    cout&lt;&lt;&quot;vuvedete chetiri chisla: &quot;;
    cin&gt;&gt;a&gt;&gt;b&gt;&gt;c&gt;&gt;d;
    sbor=0;
    if(a&gt;0) sbor+=a;
    if(b&gt;0) sbor+=b;
    if(c&gt;0) sbor+=c;
    if(d&gt;0) sbor+=d;
    cout&lt;&lt;sbor&lt;&lt;endl;
    
    p=1;
    if(a&gt;0) p*=a;
    if(b&gt;0) p*=b;
    if(c&gt;0) p*=c;
    if(d&gt;0) p*=d;
    cout&lt;&lt;p&lt;&lt;endl;
    
    broi=0;
    if(a%2==0) broi=++broi;
    if(b%2==0) broi=++broi;
    if(c%2==0) broi=++broi;
    if(d%2==0) broi=++broi;
    
    cout&lt;&lt;broi&lt;&lt;endl;
    
    
    • Данаил каза:

      Ха, интересно решение – да броиш четните числа чрез сумиране на остатъците и да намираш сумата им пак чрез тях :-) Слагай коментари, за да може да се разбере по-лесно – решението съвсем не е очевидно…

      • dreanor каза:
        #include <cstdlib>
        #include <iostream>
         
        using namespace std;
         
        int main(int argc, char *argv[])
        {
           int x,a,b,c,d,ch,suma;
            cout<<"Vavedete chetiricifreno chislo: \n";
            cin>>x;
            if ((x>=1000)&&(x<=9999))
            {
                a=x/1000;
                b=(x/100)%10;
                c=(x/10)%10;
                d=x%10;
                 
                suma=a+b+c+d; //suma na cifrite ot chisloto
                 
                ch=a%2+b%2+c%2+d%2; //otkriwane broq na nechetnite chisla (ostatuka pri delenie na dwe e 1 t.e. sumata e ostatucite e broq na nechenite)
                
                cout<<"sredno aritmetichno na chetnite e: "<<(suma-(a*(a%2)+b*(b%2)+c*(c%2)+d*(d%2)))/(4-ch)<<endl;
            }// tuk se izpolzwa sumata na wsichki cifri is sumata na nechetnite za da se nameri sumata na chetnite (spestqwa se prowerka za chetni) a ot broq na wsichki chisla se izwajda broq na nechetnite
           else cout<<"newalidno chislo\n";
            system("PAUSE");
            return 0;
        }
        

        Поправих се :)

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