Функции – стъпка по стъпка

  1. Функции без параметри

    1. да се напише програма с функции за отпечатване на различни емотикони; с тяхна помощ да се отпечата кратък разговор
    2. да се напише програма с отделни функции за отпечатване на трите имена, друга за адреса и трета за телефона и с тяхна помощ – функции за различни модели визитки
    3. да се напише програма с функции за отпечатване на екрана на квадрат и триъгълник от звездички
    4. да се напише програма с функции за отпечатване на букви S и O от звездички. С тяхна помощ да се отпечата вертикално SOS от звезди.
    5. да се напише програма с функции за отпечатване на букви S, L и O по морзовата азбука. С тяхна помощ да се отпечата SOS OSLO на морз.
    6. да се напише програма с 4 функции, които в зависимост от стойността на глобална булева променлива translate отпечатват командите „нагоре“, „надясно“, „наляво“ и „надолу“ на български или преведени на английски. С помощта на тези функции да се опише как става изписването на буквите L, Е, H
  2. Функции с параметри
    1. да се напише програма с функции за отпечатване на координатите на точка на екрана ; в кой квадрант е и дали лежи на някоя ос и ако да – на коя
    2. да се напише програма с функции за отпечатване на екрана на N на брой звездички на един ред и друга за за отпечатване на две звездички с M на брой интервала помежду им. Да се отпечата с помощта на тези функции квадрат със страна N зввезди и правоъгълник със страни M и N звезди
    3. да се направи програма с функция за отпечатване на един ред на N пъти цифрата X и друга за отпечатване на един ред на цифрите от 1 до X. С тяхна помощ да се отпечатат: квадрати от цифрите (1 x 1, 2 x 2, 3 x 3 и т.н.) и стълбица от цифри (1; 1 2; 1 2 3; 1 2 3 4; и т.н.)
    4. да се напише програма с функции, които в зависимост от стойността на глобална булева променлива translate отпечатват командите „напред“, „надясно“, „наляво“ на български или преведени на английски. След думата да се извежда стойността на числов параметър след  нея (указващ стъпки или градуси, съответно) – например „напред 4 (стъпки)“ или „надясно 90 (градуса)“.  С помощта на тези функции да се опише как става изчертаването на квадрат, правоъгълник и равностранен триъгълник с различна големина.
  3. Функции с параметри и връщащи резултат
    1. да се направи програма с функции за пресмятане на обиколката на равностранен триъгълник и квадрат и с тяхна помощ да се пресметне обиколката на четирилъчна звезда, съставена от равностранни триъгълници със страна 4 см.
    2. да се напише програма с функции за отпечатване на координатите на точка на екрана ; дали лежи на някоя ос и ако да – на коя; в кой квадрант е; отпечатване на пълната информация за точка (без дублиране на код!)
    3. да се направи програма с функция за пресмятане на лице на правоъгълник и с нейна помощ да се пресметне лицето на имот във формата на буквата Ш с дебелина на чертите 10 м и разстояния между тях пак толкова и височина 15 метра.
    4. да се направи програма с функции за проверка дали 2, 3, 4 и 5 числа са в нарастващ ред. Да се демонстрират функциите с проверка дали 15 числа са в нарастващ ред.
    5. напишете функция, която по дадени число X и валиден интервал (A, B) определя дали числото Х е в интервала (A, B) и с нейна помощ проверете дали два и три интервала са вложени един в друг.
    6. да се направи програма с демонстрация на намиране на най-голямото от 2, 3, 4, 5, 6, 7, 8, 9, 10 числа – по възможно най-ефективния и кратък начин, без дублиране на код.
  4. Функции с двупосочни параметри
    1. да се направи програма с функции завръщане на датата на създаване на програма, за въвеждане на дата от клавиатурата, за отпечатване на дата и друга функция, отпечатваща дали две дати са равни или ако не са, коя е по-голяма
    2. да се напише програма с функции за отпечатване на  координатите на точка на екрана ; преобразуване на точка в огледалната й спрямо X оста; преобразуване на точка в огледалната й спрямо Y оста и спрямо центъра на координатната система
    3. Да се напише програма с функции за преминаване в следващ и предишен ден, месец, и година и отпечатване на тези дати в различен формат.
  5. Функции с двупосочни параметри и връщащи резултат
    1. да се напише програма с функции за отпечатване на дата, за проверка дали дадена дата е валидна и за преминаване към следващ ден, месец и година
    2. да се напише програма с функция, която проверява дали три страни са валидни страни на триъгълник и ако да – намира обиколката и лицето му; с нейна помощ да се отпечата общата площ и периметър на триъгълниците от следните тройки числа: (1, 2, 3), (1, 3, 3), (4, 2, 1), (5, 3, 2), (6, 4, 3) и броят на  изведат корените на уравненията 2x-6=0; 0x+6=0; 0x=0 , както и колко на брой от уравненията имат решение.
    3. да се напише програма с функция за линейно уравнение и с нейна помощ да се изведат корените на уравненията 2x-6=0; 0x+6=0; 0x=0 , както и колко на брой от уравненията имат решение.
Публикувано в СИП. Постоянна връзка.

48 Responses to Функции – стъпка по стъпка

  1. bobby666666 каза:

    1/ A

    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    void smile(){
    	cout<<":)";
    }
    
    void frown(){
    	cout<<":(";
    }
    
    void surprised(){
    	cout<<"O.O";
    }
    
    void whatever(){
    	cout<<":/";
    }
    
    int main(int argc, char** argv) {
    cout<<"A: Kak si brat "; smile(); cout<<endl;
    cout<<"B: Zle, brato, winoto swurshi "; frown(); cout<<endl;
    cout<<"A: No kak e vuzmojno, to beshe kum 10 bidona ? ";surprised(); cout<<endl;
    cout<<"B: Emi, ne me li poznawash  "; whatever();
    
     
        return 0;
    } 
  2. MartinPlamenov каза:
    #include <iostream>
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
       
    using namespace std;
    //??????? ??? ????????? A)
    void happy(){
    	cout<<":)";
    }
    void sad(){
    	cout<<":(";
    }
    void laugh(){
    	cout<<":D";
    }
     
     
      int main(){
    cout<<"T:Shte idvash li dnes da qdeme shkembe chorba";
    happy();
    cout<<endl<<"A:Sorry nqma da moga";
    sad();
    cout<<endl<<"A:Bzkm se shte doida"; 
    laugh();  
       
        return 0;
    }
  3. MartinPlamenov каза:
    #include <iostream>
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
       
    using namespace std;
    //Функции без параметри Д)
    void sa(){
    	cout<<"         *****"<<endl;
    	cout<<"      *****"<<endl;
    	cout<<"     *****"<<endl;
    	cout<<"     *****"<<endl;
    	cout<<"        *****"<<endl;
    	cout<<"          *****"<<endl;
    	cout<<"          *****"<<endl;
    	cout<<"        *****"<<endl;
    	cout<<"     *****"<<endl<<endl;
    
    }
    void oto(){
    	cout<<"    ******    "<<endl;
    	cout<<" ****     ****"<<endl;
    	cout<<"****        ****"<<endl;
    	cout<<" ****        ****"<<endl;
    	cout<<"  ****        ****"<<endl;
    	cout<<"   ****       ****"<<endl;
    	cout<<"      ****     ****"<<endl;
    	cout<<"          *****"<<endl<<endl;
    	
    }
     
     
      int main(){
    sa();
    oto();
    sa();
        return 0;
    }
  4. bobby666666 каза:

    1/d

    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    void s(){
    	cout<<"               ******"<<endl;
    	cout<<"            ******   "<<endl;
    	cout<<"         ****** "<<endl;
    	cout<<"      ******"<<endl;
    	cout<<"         ******"<<endl;
    	cout<<"          ******"<<endl;
    	cout<<"            ******"<<endl;
    	cout<<"         ******"<<endl;
    	cout<<"      ******"<<endl;
    	cout<<"   ******"<<endl;
    }
    void o(){
    	cout<<"     **************"<<endl;
    	cout<<"    ******   ******"<<endl;
    	cout<<"   ******     ****** "<<endl;
    	cout<<"  ******       ******"<<endl;
    	cout<<"  ******       ******"<<endl;
    	cout<<"   ******     ******"<<endl;
    	cout<<"    ******   ******"<<endl;
    	cout<<"     *************"<<endl;
    }
    
    
    int main(int argc, char** argv) {
    s(); cout<<endl;
    o();cout<<endl;
    s(); cout<<endl;
     
        return 0;
    } 
  5. MartinPlamenov каза:
    #include <iostream>
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
       
    using namespace std;
    //Функции с параметри А)
    //да се напише програма с функции за отпечатване на координатите на точка на екрана ; в кой квадрант е и дали лежи на някоя ос и ако да – на ко
     
     
      void kordinati(double x,double y){
    		cout<<"("<<x<<";"<<y<<")"<<endl;
    		if (x==0&&y!=0)
    		{
    			cout<<"Funkciqta leji na ordinatnata os!";	
    		}
    		else if (y==0&&x!=0)
    		{
    			cout<<"Funkciqta leji na abcisnata os!";
    		}
    		else if (y==0&&x==0){
    			cout<<"Funkciqta leji na abcisnata i na ordinatnata os!";
    		}
    		 else if (x>0)
    		 {
    		 	if (y>0)
    				cout<<"I kvadrant";
    			else 
    				cout<<"II kvadrant";
    		}
    		else if (y<0) 
    		{
    			if (x<0)
    			cout<<"III kvadrant";
    			else 
    			cout<<"IV kvadrant";
    		}
    	}
    	int main (){
    		double x,y;
    		cout<<"Vuvedete dve kordinatni tochki!"<<endl;
    		cout<<"X:"<<endl;
    		cin>>x;
    		cout<<"Y:"<<endl;
    		cin>>y;
    		kordinati(x,y);
    		return 0;
    	}
  6. bobby666666 каза:
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
    
    /*?? ?? ?????? ???????? ? ??????? ?? ??????????? ?? ?????? ?? N ?? ???? ????????? ?? ???? ???
     ? ????? ?? ?? ??????????? ?? ??? ????????? ? M ?? ???? ????????? ??????? ??.
      ?? ?? ???????? ? ??????? ?? ???? ??????? ??????? ??? ?????? N ??????? ? ???????????? ??? ?????? M ? N ??????
     */
    int zwezdinared(int n){
    	for (int a=1; a<=n; a++){
    		cout<<"*";
    	}	
    }
    
    int zwezdisinterwal(int m){
    	cout<<"*";
    	for (int a=1; a<m; a++){
    		cout<<" ";
    	}	
    	cout<<"*";
    }
    
    int kwadratN(int n){
    	zwezdinared(n);
    	for(int a=1; a<=n; a++){
    	zwezdisinterwal(n);
    	cout<<endl;
    	}
    zwezdinared(n);
    }
    
    
    
    
    
    int main(int argc, char** argv) {
    kwadratN(4);
    
        return 0;
    } 
  7. bobby666666 каза:

    2/b преработена

     #include <cstdlib>
    #include <iostream>
      
    using namespace std;
     
    /*?? ?? ?????? ???????? ? ??????? ?? ??????????? ?? ?????? ?? N ?? ???? ????????? ?? ???? ???
     ? ????? ?? ?? ??????????? ?? ??? ????????? ? M ?? ???? ????????? ??????? ??.
     ?? ?? ???????? ? ??????? ?? ???? ??????? ??????? ??? ?????? N ??????? ? ???????????? ??? ?????? M ? N ??????
     */
    int zwezdinared(int n){
        for (int a=1; a<=n; a++){
            cout<<"*";
        }   
    }
     
    int zwezdisinterwal(int m){
        cout<<"*";
        for (int a=1; a<=m; a++){
            cout<<" ";
        }   
        cout<<"*";
    }
     
    int kwadratN(int n){
        zwezdinared(n); 
        cout <<"\n";
    	for(int a=1; a<=n-2; a++){
        zwezdisinterwal(n-2);
        cout <<"\n";
        }
        zwezdinared(n); 
    }
     
    int prawougulnik(int n, int m){
    	 zwezdinared(n); 
        cout <<"\n";
    	for(int a=1; a<=m-2; a++){
        zwezdisinterwal(n-2);
        cout <<"\n";
        }
        zwezdinared(n);
    } 
     
     
     
    int main(int argc, char** argv) {
    kwadratN(4);
    cout<<endl;
    prawougulnik(7,10);
    
        return 0;
    }
  8. bobby666666 каза:

    3/а

     #include <cstdlib>
    #include <iostream>
      
    using namespace std;
     
    /*да се направи програма с функции за пресмятане на обиколката на равностранен триъгълник и квадрат 
    и с тяхна помощ да се пресметне обиколката на четирилъчна звезда, 
    съставена от равностранни триъгълници със страна 4 см.
     */
    
    double triugulnik_obikolka(double &a){
    	return 3*a;
    }
    
    double kwadrat_obikolka(double &a){
    	return 4*a;
    }
    
    double zwezda(double a){
    	cout<<(4*triugulnik_obikolka(a))-kwadrat_obikolka(a);
    }
     
    int main(int argc, char** argv) {
    zwezda(4);
    
        return 0;
    }
    • Данаил каза:

      Добре! А дали не можем да имаме и функция, която ни дава информация за обиколката на звездата? Може да ни потрябва за смятане на обиколката на всички звезди от звездното небе, примерно… :-) Разбираш идеята…

      Защо обаче ти е този & при параметрите?

  9. MartinPlamenov каза:
    #include <iostream>
    
    using namespace std;
    //2 b)?? ?? ?????? ???????? ? ??????? ?? ??????????? ?? ?????? ?? N ?? ???? ????????? ?? ???? ??? ? ????? ?? ?? ??????????? ?? ??? ????????? ? M ?? ???? ????????? ??????? ??. ?? ?? ???????? ? ??????? ?? ???? ??????? ??????? ??? ?????? N ??????? ? ???????????? ??? ?????? M ? N ??????
    int zvezdi(int broi){
    	int zvezdi=0;
    	while (zvezdi<broi){
    		cout<<"*";
    		zvezdi++;
    	}
    }
    int zvezdiInterval(int broi){
    	int interval=0;
    	cout<<"*";
    	while (interval<broi){
    		cout<<" ";
    		interval++;
    	};
    	cout<<"*";
    }//Pravi kvadrat
    int kvadrat(int n){
    	for(int i=0;i<n;i++){
    		zvezdi(n);
    		cout<<endl;
    	}
    }//Pravi pravougulnik
    int pravougulnik(int n,int m){
    	for (int i=0;i<m;i++){
    		zvezdi(n);
    		cout<<endl;
    	}
    }
    
    
    int main(int argc, char** argv) {
    	//zvezdi(9);
    	//zvezdiInterval(12);
    	//kvadrat(5);
    	//pravougulnik(10,2);
    	return 0;
    }
  10. Ivelina Krsteva каза:
     
    //1A
    #include<iostream>
    
    using namespace std;
    
    void heart (void)
    {
        cout<<"<3"<<endl;
    }
    
    void kiss (void)
    {
        cout<<":*"<<endl;
    }
    
    void hug (void)
    {
        cout<<"(hug)"<<endl;
    }
    
    void smile (void)
    {
        cout<<":)"<<endl;
    }
    int main ()
    {
    
        cout<<"A: Hello, bae! ";
        heart();
        cout<<"B: Hello dear! ";
        kiss();
        cout<<"A: How are you? ";
        heart();
        cout<<"B: Not too bad. ";
        smile();
        cout<<"A: Hmmm, okay. ";
        hug();
        return 0;
    }
    
    
    //1B
    #include<iostream>
    
    using namespace std;
    void name (void)
    {
        cout<<"name: "<<endl;
        cout<<"surname: "<<endl;
        cout<<"family: "<<endl;
    }
    void addres (void)
    {
        cout<<"street: "<<endl;
        cout<<"number: "<<endl;
        cout<<"town: "<<endl;
    }
    void number (void)
    {
        cout<<"telephone number: "<<endl;
    }
    int main() {
    
        name();
        addres();
        number();
    
    return 0;
    }
    
    
    //1E
    #include<iostream>
    using namespace std;
    void s(void)
    {
        cout<<" ***"<<endl;
        cout<<" *"<<endl;
        cout<<" ***"<<endl;
        cout<<"   *"<<endl;
        cout<<" ***"<<endl;
    
    }
    void o(void)
    {
        cout<<" ***"<<endl;
        cout<<" * *"<<endl;
        cout<<" * *"<<endl;
        cout<<" * *"<<endl;
        cout<<" ***"<<endl;
    }
    void l(void){
        cout<<" *  "<<endl;
        cout<<" *  "<<endl;
        cout<<" *  "<<endl;
        cout<<" *  "<<endl;
        cout<<" ***"<<endl;
    }
    
    
    int main(int argc, char** argv) {
    s(); cout<<endl;
    o(); cout<<endl;
    s(); cout<<endl;
    
    o(); cout<<endl;
    s(); cout<<endl;
    l(); cout<<endl;
    o(); cout<<endl;
    
    
        return 0;
    }
    
    
    
    2A
    #include<iostream>
    using namespace std;
    
    int quadrant(int x, int y)
    {
        if((x>0)and(y>0))
        {
            cout<<"purvi kvadrant"<<endl;
        }
            return 1;
        if((x<0)and(y>0))
        {
            cout<<"vtori kvadrant"<<endl;
        }
            return 2;
        if((y<0)and(x<0))
        {
            cout<<"treti kvadrant"<<endl;
        }
            return 3;
        if((x>0)and(y<0))
        {
            cout<<"chetvurti kvadrant"<<endl;
        }
            return 4;
    }
    
    int main() {
        int a,b;
        cin>>a>>b;
        quadrant(a,b);
    
    return 0;
    }
    
    
    
     
  11. Ivelina Krsteva каза:
     
    //2B
     #include<iostream>
    using namespace std;
    
    int Nstars(int n )
    {
        int p=0;
        while(p<n)
        {
            cout<<"*";
            n--;
        }
        cout<<endl;
    }
    
    int TWO_stars(int m)
    {
        int p=0;
    
        cout<<"*";
        while(p<m)
        {
            cout<<" ";
            m--;
        }
        cout<<"*";
        cout<<endl;
    }
    
    int kvadrat (int n)
    {
        Nstars(n);
        for(int p=1; p<=n-2; p++)
        {
            TWO_stars(n-2);
            cout <<endl;
        }
        Nstars(n);
    }
    int pravougulnik (int n, int m)
    {
        Nstars(n);
        for(int p=1; p<=m-2; p++)
        {
            TWO_stars(n-2);
            cout <<endl;
        }
        Nstars(n);
    }
    int main()
    {
        kvadrat(5);
        pravougulnik(10,15);
        return 0;
    }
    
    
  12. Ivelina Krsteva каза:

    //na 2C trqbva chrez tezi 2 funkcii li da se izpulnat stulbicacta i kvadratite?

     
    #include<iostream>
    using namespace std;
    
    int ch_n_x (int n, int x)
    {
        for(int i=1; i<=n; i++)
        {
            cout<<x<<" ";
        }
    }
    
    int edno_x (int x)
    {
        int p=1;
        cout<<p<<" ";
        for(int i=1; i<x; i++)
        {
            cout<<i+1<<" ";
        }
    }
    
    int main()
    {
        int n,x;
        cin>>n>>x;
        return 0;
    }
    
    
  13. Simonaa каза:

    //1a
    //?? ?? ?????? ???????? ? ??????? ?? ??????????? ?? ???????? ?????????; ? ????? ????? ?? ?? ???????? ?????? ????????

    #include

    using namespace std;

    void yell(){
    cout<:o“;
    }
    void cool(){
    cout<<"8)";
    }
    void sad(){
    cout<<":(";
    }
    void laughing(){
    cout<<":D";
    }
    void favemoticon(){
    cout<<"-_-";
    }

    int main()
    {
    cout<<"A: Zashto ne mi digash telefona? ";
    yell();
    cout<<"B: Zahtoto bqh na basein ";
    cool();
    cout<<"A: I ne mi vikna s teb..? ";
    sad();
    cout<<"B: Nqmashe mqsto v baseina.. ";
    laughing();
    cout<<"A: K. ";
    favemoticon();

    return 0;
    }

  14. Simonaa каза:

    #include

    //1b
    //da se napishe programa s otdelni funkcii za otpechatvane na trite imena, druga za adresa i treta za telefona i s tqhna pomosht – funkcii za razlichni modeli vizitki

    using namespace std;

    void ime()
    {
    cout<<"ime: "<<endl;
    cout<<"prezime: "<<endl;
    cout<<"familiq: "<<endl;
    }

    void adres()
    {
    cout<<"grad: "<<endl;
    cout<<"ulica: "<<endl;
    cout<<"nomer: "<<endl;
    cout<<"blok: "<<endl;
    cout<<"vhod: "<<endl;
    cout<<"etaj: "<<endl;
    cout<<"apartament: "<<endl;
    }

    void telefon()
    {
    cout<<"telefonen nomer: "<<endl;
    }

    int main() {

    ime();
    adres();
    telefon();

    return 0;
    }

  15. MartinPlamenov каза:
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
      //3 Б да се направи програма с функции за пресмятане на обиколката на равностранен триъгълник и квадрат и с тяхна помощ да се пресметне обиколката на четирилъчна звезда, съставена от равностранни триъгълници със страна 4 см.
    using namespace std;
    int obikolkaTri(int a){
    	return 3*a;
    	}
    int obikolkaKva(int a){
    	return 4*a;
    }	
      int main(){
      	cout<<"Obikolkata na chetrilucha zvezda e:"<<4*obikolkaTri(4)+obikolkaKva(4);
      
        return 0;
    }
    
  16. MartinPlamenov каза:
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
      //3 Г да се направи програма с функция за пресмятане на лице на правоъгълник и с нейна помощ да се пресметне лицето на имот във формата на буквата Ш с дебелина на чертите 10 м и разстояния между тях пак толкова и височина 15 метра.
    using namespace std;
    int licePravougulnik(int a,int b){
    	return 2*(a+b);
    	}
    	
      int main(){
      	cout<<"Obikolkata na imot s forma Ш e:"<<3*licePravougulnik(10,5)+licePravougulnik(10,15);
      
        return 0;
    }
  17. MartinPlamenov каза:
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
      using namespace std;
      //3 Е Гнапишете функция, която по дадени число X и валиден интервал (A, B) определя дали числото Х е в интервала (A, B) и с нейна помощ проверете дали два и три интервала са вложени един в друг.
    bool interval(double a,double b,double x){
        double max,min;
        if (a>b)
            {
            max=a;
            min=b;
            }
        else
            {
            max=b;  
            min=a;
            }
            if ((x>=min)&&(x<=max)){
                return true;
            }
            else {
                return false;   
            }
         
        }
        //Проверка на два интервала
        bool proverkaInterval(double a,double b,double x,double y){
        	double min,min1,max,max1;
    		if(a>b)
    		{
    			max=a;
    			min=b;
    		} 
    		else 
    		{
    			max=b;
    			min=a;	;
    		}
    		if (x>y)
    		{
    			max1=x;
    			min1=y;
    		}
    		else
    		{
    			max1=y;
    			min1=x;	
    		}
    		
    		if((max>=max1)&&(min<=min1))
    		{
        		return true;
        	}
        	else if((max1>=max)&&(min1<=min)) 
    		{
        		return true;
    		}
    		else 
    		{
    			return false;
    		}
        }
         
      int main(){
       if(proverkaInterval(2,3,1,6)){
       	cout<<"Dvata intervala sa vlojeni edin v drug!";
       }
       else 
       cout<<"Dvata intervala ne sa vlojeni edin v drug!";
       
        return 0;
    }
    • Данаил каза:

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

      bool ABinXY(double a, double b, double x, double y)
      {
        // тук кода за проверка дали (a, b) е вложен в интервала (x, y)
      }
      
      bool proverkaInterval(double a, double b, double x, double y)
      {
        return ABinXY(a, b, x, y) or ABinXY(x, y, a, b);
      }

      Виж, щом има повторения в кода, значи може още да се оптимизира, като се изнесат във функция.

  18. Ivelina Krsteva каза:

    //3A

     
    #include <iostream>
    using namespace std;
    
    int triug (int a)
    {
      return 3*a;
    }
    int kvadrat (int a)
    {
      return 4*a;
    }
    
    int main() {
     
      cout<<((4*triug(4))-kvadrat(4))<<endl;
      
    	return 0;
    }
     
  19. bobby666666 каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    /*да се направи програма с функции за проверка дали 2, 3, 4 и 5 числа са в нарастващ ред. 
    Да се демонстрират функциите с проверка дали 15 числа са в нарастващ ред.*/
    
    bool dwe(double a, double b){
    	return (a<b);
    }
    
    bool tri(double a, double b, double c){
     return (dwe(a,b))&&(dwe(b,c));
    }
    
    //използваме фукнциата за 3 числа и след това за две , по този начин се застъпват и се получава за 4 числа
    bool chetiri (double a, double b, double c, double d ){
    	return (tri(a,b,c)&&dwe(c,d));
    }
    
    //използваме предишната функция за улеснение
    bool pet (double a, double b, double c, double d, double e ){
    	return (chetiri(a,b,c,d)&&dwe(d,e));
    }
    //Използваме предишните функций като блокчета, за да направим функция за 15 числа
    //забележете, че трябва да има застъпващи се променливи във функцийте иначе програмата няма да сработи
    bool petnaiset (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, int n, int o){
    	return (pet(a,b,c,d,e)&&pet(e,f,g,h,i)&&pet(j,k,l,m,n)&&dwe(n,o));
    }
    
    
    int main(int argc, char** argv) {
    if(petnaiset(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15))
    cout<<"narastwasht";
    	return 0;
    } 
  20. Ivelina Krsteva каза:

    //1F

    #include <iostream>
    using namespace std;
    
    void nagore(void)
    {
      cout<<"nagore"<<endl;
    }
    void nadolu(void)
    {
      cout<<"nadolu"<<endl;
    }
    void nalqvo(void)
    {
      cout<<"nalqvo"<<endl;
    }
    void nadqsno(void)
    {
      cout<<"nadqsno"<<endl;
    }
    
    void L (void)
    {
      nadolu();
      nadqsno();
    }
    
    int E (void)
    {
      nalqvo();
      nadolu();
      nadqsno();
      nalqvo();
      nadolu();
      nadqsno();
    }
    
    int main () {
    //l();
    //E();
      return 0;
    }
    
  21. Marin каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    void ime(){
    	
    cout <<"IME:  "<<"Vancho "<<endl;		
    }
    
    void adress(){
    cout <<"ADRESS:  "<< "lom, svoboda 8"<<endl;	
    }
    
    void telefon(){
    cout <<"Telephone:  "<<"090831234"<<endl;	
    }
    
    int main(int argc, char** argv) {
    
     ime();
     adress();                                                 //Variant 1 
     telefon();
    
    cout <<"----------------------------------"<<endl;
    
    adress();                                                        //Variant 2
    ime();
    telefon();
    
    cout <<"----------------------------------"<<endl;
    
    telefon();
    ime();
    adress();
    
    cout <<"----------------------------------"<<endl;                  //Variant 3 
    
    adress();
    telefon();
    ime();
                                                                        //Variant 4
    	return 0;
    }
    
  22. MartinPlamenov каза:
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
      using namespace std;
      //3 F да се направи програма с демонстрация на намиране на най-голямото от 2, 3, 4, 5, 6, 7, 8, 9, 10 числа – по възможно най-ефективния и кратък начин, без дублиране на код.
    
    double max2(double a,double b){
    	double max;
    	if (a>b)
    	{
    		max=a;
    	}
    	else
    	{
    		max=b;	
    	}
    	return max;
       
    }
    double max3(double a,double b,double c){
    	return max2(a, max2(b,c));
    }
    double max4(double a,double b,double c,double d){
    	return max2(max2(a,b),max2(c,d));
    }
    double max5(double a,double b,double c,double d,double e){
    	return max2(max3(a,b,c),max2(d,e));
    }
    double max6(double a,double b,double c,double d,double e,double f){
    	return max2(max4(a,b,c,d),max2(e,f));
    }
    double max7(double a,double b,double c,double d,double e,double f,double g){
    	return max2(max6(a,b,c,d,e,f),g);
    }
    double max8(double a,double b,double c,double d,double e,double f,double g,double h){
    	return max2(max7(a,b,c,d,f,e,g),h);
    }
    
      int main(){
      	//Maksimalni stoinosti
    	cout<<max2(4, 1)<<endl;
        //Vlagame maksimalan stoinost ot predishna funkciq kato parametur v sledvashtata;
    	cout<<max3(1,10,3)<<endl;
    	cout<<max4(4,5,10,2)<<endl;
        cout<<max5(0,2,19,6,7)<<endl;
      
        
        return 0;
    }
  23. Alexander1 каза:
    #include <cstdlib>
    #include <iostream>
    
    //3a
    //Aleks i Simona :D
    
    using namespace std;
    
    int ObikolkaTriugulnik(int a)
    {
    	return 3*a;
    }
    
    int ObikolkaKvadrat(int a) {
    	return 4*a;
    }
    int ObikoplkaZvezda(int a){
    	return (4*ObikolkaTriugulnik(a))-(ObikolkaKvadrat(a));
    }
    
    int main(int argc, char** argv) {
    cout<<"obikolkata na zvezdata e: "<<ObikoplkaZvezda(4);
    	return 0;
    }
    
    
  24. Alexander1 каза:
    
    #include <cstdlib>
    #include <iostream>
    
    //3c
    //Aleks i Simona :D
    
    using namespace std;
    
    //"a" e shirinata, "b" e visochinata
    
    int LicePravougulnik(int a, int b){
    	return a*b;
    }
    int LiceOsnova(int a, int b){
    	b=5*a;
    	return a*b;
    }
    int LiceShuto(int a, int b){
    	return 3*LicePravougulnik(a,b)+LiceOsnova(a,b);
    }
    
    int main(int argc, char** argv) {
    	cout<<"Liceto na imota e: "<<LiceShuto(10,15);
    	 
    	return 0;
    }
    
    
  25. Alexander1 каза:
    #include <iostream>
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    //5A да се напише програма с функции за отпечатване на дата, за проверка дали дадена дата е валидна и за преминаване към следващ ден, месец и година
    using namespace std;
    void Data(int &d, int &m, int &g){
    	if((d>0)&&(d<=31)&&(m>0)&&(m<=12)&&(g>0)){
    		cout<<"datata e validna";
    		}
    		else{
    			cout<<" ne validna"<<endl;
    		}
    	}
    void SledvashtaData(int &d, int &m, int &g){
    		if(m==12){
    		m=m-12;
    	g=1+g;
    }
    	if(d==31){
    		d=d-30;
    		m=1+m;
    	}
    	else{
    		d=1+d;
    	}
    	cout<<d<<"."<<m<<"."<<g;
    }
    int main(int argc, char** argv) {
    	int d,m,g;
    	cout<<"vavedete validna data ";
    	cin>>d>>m>>g;
    	Data(d,m,g);
    	cout<<" ,sled data e ";
    	SledvashtaData(d,m,g);	
    	return 0;
    }
    • Данаил каза:

      Алекс, погледни пак защо и кога ползваме &. Функцията за проверка валидността на дата трябва да връща дали датата е валидна, а не да го отпечатва. Пробвай коя е следващата дата ако въведеш 9 12 2016. :-)

  26. Alexander1 каза:
    #include <iostream>
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    //5A да се напише програма с функции за отпечатване на дата, за проверка дали дадена дата е валидна и за преминаване към следващ ден, месец и година
    //Fixed !!
    using namespace std;
    void Data(int &d, int &m, int &g){
    	if((d>0)&&(d<=31)&&(m>0)&&(m<=12)&&(g>0)){
    		cout<<"datata e validna";
    		}
    		else{
    			cout<<" ne validna"<<endl;
    		}
    	}
    void SledvashtaData(int &d, int &m, int &g){
    		if((m==12)&&(d==31)){
    		m=m-12;
    	g=1+g;
    }
    	if(d==31){
    		d=d-30;
    		m=1+m;
    	}
    	else{
    		d=1+d;
    	}
    	cout<<d<<"."<<m<<"."<<g;
    }
    int main(int argc, char** argv) {
    	int d,m,g;
    	cout<<"vavedete validna data ";
    	cin>>d>>m>>g;
    	Data(d,m,g);
    	cout<<" ,sled data e ";
    	SledvashtaData(d,m,g);	
    	return 0;
    }
  27. MartinPlamenov каза:

    Не знам дали това се иска,но се опитах да добавя и специфичните случаи (няма за високосна година :D)

    #include <cstdlib>
    #include <iostream>
    #include <cmath>
      using namespace std;
      //Да се напише програма с функции за преминаване в следващ и предишен ден, месец, и година и отпечатване на тези дати в различен формат.
    //char p=dali da pribavq ili namalq denq/meseca/godinata
    int nden,nmesec,ngodina;
    bool preminavane(int& d,int& m,int& y,char p){
    	if (p=='>'){
    		ngodina=y+1;
    //Tuk shte provermqvame dali ne e kraq na meseca i ako e shte uvelichavame mesecites dva a ne s edin!
    	switch(m){
    		
    			case 1:
    			case 3:
    			case 5:
    			case 7:
    			case 8:
    			case 10:if(d==31){
    				
    		    nden=1;
    			nmesec=m+2;
    		}
    			else{
    			 nden=d+1;
    			nmesec=m+1;
    		}
    			return true;
    			break;
    			case 12:if(d==31){
    			nden=1;
    			nmesec=1;
    			return true;
    			break;
    			case 11:
    			case 4:
    			case 6:
    			case 9:if(d==30){
    				
    			nden=1;
    			nmesec=m+2;
    			}
    			else {
    			nden=d+1;
    			nmesec=m+1;
    		}	
    			return true;
    			
    			break;
    			case 2:
    			if(d==28){
    			
    			nden=1;
    			nmesec=m+2;
    			}
    			else{
    			
    			nden=d+1;
    			nmesec=m+1;
    		}
    			return true;
    			break;
    			default: return false;
    		}
    		
    		
    		}
    	}
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
    	
    	else if (p=='<'){
    		ngodina=y-1;
    		if(d==1){
    		switch(m){
    		
    			case 1:m=14;
    			case 3:
    			case 5:
    			case 7:
    			case 8:
    			case 10:
    			case 12:
    			nden=31;
    			nmesec=m-2;
    			return true;
    			break;
    			case 11:
    			case 4:
    			case 6:
    			case 9:
    			nden=30;
    			nmesec=m-2;
    			return true;
    			break;
    			case 2:
    			nden=28;
    			nmesec=m-2;
    			return true;
    			break;
    			default: return false;
    	}
    }
    	else {
    		nden=d-1;
    		nmesec=m-1;
    	}
    }
    }
    	
    
    	
    	
    	
      int main(){
      	int d,m,y;
      	char p;
      	cin>>d>>m>>y>>p;
    if (preminavane(d,m,y,p)){
    	cout<<nden<<" "<<nmesec<<" "<<ngodina;
    }else {
    	cout<<"Nevalidno";
    }
    return 0;
      }
        
    • Данаил каза:

      Внушителна програма, Марти, и си личи, че си разгледал много случаи. Но помисли, на кой би му била нужна функция, която увеличава или намалява с един ден, месец и година едновременно? Това трябваше да са отделни функции – една за +1 ден, една за -1 ден, една за +1 месец и т.н. И трябва да се върне като резултат, а не да се отпечатва на екрана. И тествал ли си за граничните случаи – например 31.12.2016 + 1 и 1.1.2017 – 1?

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