Число и цифри

Напишете функции, които:

  • по дадено цяло положително число N и цифра К определя дали цифрата К се съдържа в числото N
  • по дадено цяло число N намира броя на цифрите му
  • по дадено цяло число N намира сумата на цифрите му
  • по дадено цяло число N го отпечатва в обратен ред
  • по дадено цяло число N определя коя е най-голяма цифра, съдържаща се в записа на числото
Публикувано в СИП с етикети , . Постоянна връзка.

4 Responses to Число и цифри

  1. MartinPlamenov каза:
    #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;
    }
    • Данаил каза:

      Марти, като изчисления е вярно – поздравления, но откъм параметри и връщан резултат има какво да се желае. Правилото е много просто – във функцията не трябва да има никакви команди за въвеждане и извеждане – каквото и трябва да знае – да го получи с параметър, каквото иска да съобщи – да го върне като параметър или като резултат. Функцията обикновено е вътрешен чарк, няма нужда от „дисплей“ и „клавиатура“ – само от „информационни канали“, с които да се свързва с другите вътрешни чаркове. Работа на главната програма е да въвежда и извежда. Така функциите стават по-универсални и могат да се използват и за изчисления, и за извеждане.

  2. Ivelina Krsteva каза:
    #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;
    }
    

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