Да се въведе четирицифрено число и да се пресметне средното аритметично от цифрите на числото, които са кратни на две.
По желание: да се потърси решение без използване на условна команда.
Да се въведе четирицифрено число и да се пресметне средното аритметично от цифрите на числото, които са кратни на две.
По желание: да се потърси решение без използване на условна команда.
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]

за Къде се намира точка
за Вмъкване и изтриване на елемент *
за Позицията на X




за Броят на максималните елементи




за Броят на максималните елементи
за Пари за закуска




за Ученици с дадена оценка




за По-големи от средното| П | В | С | Ч | П | С | Н |
|---|---|---|---|---|---|---|
| « февр. | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
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;Криси, малко промених условието, помисли как ще стане решението на задачата при новото условие. Иначе текущото ти решение беше вярно :-)
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;
#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; }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;Първи начин
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’ да е от реален тип числа)
Ха, интересно решение – да броиш четните числа чрез сумиране на остатъците и да намираш сумата им пак чрез тях :-) Слагай коментари, за да може да се разбере по-лесно – решението съвсем не е очевидно…
#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; }Поправих се :)
Супер! Личи си че си останал по-свободен :-)