Напишете функции, които:
- по дадено цяло положително число N и цифра К определя дали цифрата К се съдържа в числото N
- по дадено цяло число N намира броя на цифрите му
- по дадено цяло число N намира сумата на цифрите му
- по дадено цяло число N го отпечатва в обратен ред
- по дадено цяло число N определя коя е най-голяма цифра, съдържаща се в записа на числото


#include <iostream> using namespace std; //?? ?????? ???? ??????????? ????? N ? ????? ? ???????? ???? ??????? ? ?? ??????? ? ??????? N int chislo(int a){ int k,i,rezultat; cout<<"Vuvedete K:"; cin>>k; do{ rezultat=a%10; if (k==rezultat){ cout<<"Chisloto se sudurja!"; return 0; } a=a/10; }while (a!=0); cout<<"Chisloto ne se sudurja"; } //?? ?????? ???? ????? N ?????? ???? ?? ??????? ?? int broiChisla(int b){ int rezultat,broi=0; while (b!=0){ rezultat=b%10; broi++; b/=10; } cout<<broi; } //?? ?????? ???? ????? N ?????? ?????? ?? ??????? ?? int sumaChisla(int c){ int rezultat,broi=0; while (c!=0){ rezultat=c%10; broi+=rezultat; c/=10; } cout<<"Sumata na chislata e:"<<broi; } //?? ?????? ???? ????? N ?? ????????? ? ??????? ??? int obratna(int a){ int chislo,obratno=0; chislo=a; while (chislo!=0){ obratno=obratno*10; obratno=obratno+chislo%10; chislo=chislo/10; } cout<<"Ogledalnoto chislo e "<<obratno; } //?? ?????? ???? ????? N ???????? ??? ? ???-?????? ?????, ????????? ?? ? ?????? ?? ??????? int biggest(int a){ int max=INT_MIN,min=INT_MAX,rezultat; while (a!=0){ rezultat=a%10; if (rezultat>max){ max=rezultat; } if (rezultat<min){ min=rezultat; } a/=10; } cout<<"Min:"<<min<<" "<<"Max:"<<max; } int main () { /* chislo(253); broiChisla(12348); sumaChisla(2443); obratna(24542); biggest(24127); */ return 0; }Марти, като изчисления е вярно – поздравления, но откъм параметри и връщан резултат има какво да се желае. Правилото е много просто – във функцията не трябва да има никакви команди за въвеждане и извеждане – каквото и трябва да знае – да го получи с параметър, каквото иска да съобщи – да го върне като параметър или като резултат. Функцията обикновено е вътрешен чарк, няма нужда от „дисплей“ и „клавиатура“ – само от „информационни канали“, с които да се свързва с другите вътрешни чаркове. Работа на главната програма е да въвежда и извежда. Така функциите стават по-универсални и могат да се използват и за изчисления, и за извеждане.
#include<iostream> using namespace std; //kolko cifri ima chisloto int digitsCount(int n) { int k=0; while(n>0){ n/=10; k++; } return k; } //sbor na cifrite na chisloto int digitsSum(int p) { int k=0; while(p>0){ k+=p%10; p/=10; } return k; } //chisloto naobratno int dightsBackward(int n) { int obr=0; while (n>0) { int p=n%10; n/=10; obr=(obr*10)+p; } return obr; } //sudurja li se cifrata k v chisloto n int YesOrNoDights(int n, int k) { int broyK=0; while(n > 0){ if(n%10==k){ broyK++; } n/=10; } return broyK>0; } int main() { int n, k; cin>>n>>k; cout<<digitsCount(n)<<endl; cout<<digitsSum(n)<<endl; cout<<dightsBackward(n)<<endl; if (YesOrNoDights(n,k)) { cout<<"yes"<<endl; } else { cout<<"no"<<endl; } return 0; }Перфектно!