[Tutorial C/C++/C#] Functii complexe

Locked
User avatar
LaUR SNG
Fondator
Fondator
Posts: 9038
Joined: 8 years ago
Location: SNAGOV
Has thanked: 11 times
Been thanked: 6 times
Zodiac:
Age: 21
Contact:
Status: Offline
Romania

8 years ago

Nume Tutorial: Functii complexe .
Descriere: Dupa cum spuneam, #define il vom folosi doar in cazul constantelor sau functiilor scurte.Pentru functii mai complexe, vom folosi parti de cod separate dupa cum urmeaza .
Download: -
Autor: BreaKer
Sursa (Link-ul oficial): -
Propria parere: Nu l-am incercat.
Tutorialul: Mai jos .


Dupa cum spuneam, #define il vom folosi doar in cazul constantelor sau functiilor scurte.Pentru functii mai complexe, vom folosi parti de cod separate dupa cum urmeaza:

Code: Select all

#include <cstdlib>

#include <iostream>



using namespace std;



int adunare(int x, int y) {

    return x+y;

}



int main(int argc, char *argv[]) {

    cout << "Alegeti doua numere" << endl;

    int x, y;

    cin >> x;

    cin >> y;

    cout << adunare(x, y);

    _sleep(1000);

}
Acum sa descompunem functia:

Code: Select all

int adunare(int x, int y) {

    return x+y;

}
Pentru inceput avem:

int adunare - int este tipul de variabila care va fi returnata(de asemenea putem folosi orice tip: float, double, int, etc), iar adunare este numele functiei noastre

(int x, int y) - int x este primul parametru al functiei, acest parametru fiind de tip int, int y este cel de-al doilea parametru al functiei, acest parametru fiind de asemenea de tip int.Si la parametri, putem folosi orice tip de variabila (double, float, int, char, etc)

return x+y - este valoarea returnata a functiei noastre, in cazul nostru, fiind, dupa cum am spus mai devreme, de tip int

Asadar, cand vom folosi cout << adunare(x, y), va fi afisata valoarea returnata a functiei, in cazul nostru x+y

O functie mai complexa este cea de aflare a Celui mai mare divizor comun dupa cum urmeaza:

Code: Select all

#include <cstdlib>

#include <iostream>



using namespace std;



int cmmdc(int x, int y) {

    int r = x%y;

    while ( r!= 0 ) {

          x = y;

          y = r;

          r = x%y;

          }

    return y;

}

    



int main(int argc, char *argv[]) {

    cout << "Alegeti doua numere" << endl;

    int x, y;

    cin >> x;

    cin >> y;

    cout << cmmdc(x, y);

    _sleep(1000);

}
sa descompunem functia int cmmdc(int x, int y)

Code: Select all

int cmmdc(int x, int y) { // tipul variabilei int, numele functiei cmmdc, parametrii int x si int y

    int r = x%y;             // variabila de tip int, tine restul impartirii lui x la y

    while ( r!= 0 ) {       // daca restul nu este 0

          x = y;              // atribuim lui x valoarea lui y

          y = r;              // lui y valoarea lui r

          r = x%y;         // lui r din nou valoarea restului impartirii x la y

          }                   // functia se va executa pana cand restul va fi 0, insemnand o impartire perfecta, fara rest

    return y;              //returneaza valoarea celui mai mare divizor comun

}
[/b]
„Iubiti totul cu toată inima ... căci viața se termină când vrea ea si pe nepusă masă !” – LaUR SNG

https://photos.app.goo.gl/WbQsF4C9QfvDvWSo6

Curios ? Nu il deschide :13:

[spoiler]Image[/spoiler]
[spoiler]Image[/spoiler]

https://www.facebook.com/10043517804227 ... 039605115/
Locked

Return to “C / C++ / C#”