Curs Code Blocks

download Curs Code Blocks

of 38

description

curs ce te ajuta sa intelegi utilizarea programului Code Blocks

Transcript of Curs Code Blocks

  • CodeblocksForma generala a unui program in C++ (Codeblocks) este:

    #include //include fisierul iostream(in out stream) in program. Fisierul contine // declaratiile unor functii pt. operatii de intrare/ iesireusing namespace std; //spatiul de nume std grupeaza logic functii si clase specifice P.O.O int main() //programul (functia) principala{ //inceput program

    cout

  • (int) in fata unui caracter returneza codul ASCII a caracteruluiEx:#include using namespace std;char a,b,c;int main(){ couta; cout
  • p=p*x; //p creste de x orix=y; // lui x i se atribuie valoarea lui yProbleme 1.Suma a doua numere2.Aria unui dreptunghi3.Media aritmetica a 3 numere

    Operatori in C++a)Operatori aritmetici+ (adunare) a+b- (scadere) a-b* (inmultire) a*b % (modulo restul impartirii 10%3 este 1, 125%10 este 5)/ (impartire sau div) 1) / este div - atunci cand ambele numere din operatie sunt intregi

    #include using namespace std;long b , a, x;int main() { cout > a >> b; x = a / b; cout b; x = a / b; cout b;

  • x = a / (float)b; cout
  • using namespace std;int a,b,s;int main() { cout > a>>b; s=b+(++a); //mai intai se face ++a si apoi se face s=b+a cout
  • f) Operatori logici pe biti actioneaza la nivel de bit pe numere (adica pe reprezentarea numarului in baza 2 !!!)> deplasare la drepta& si | sau^ sau exclusiv~ nota b a&b a|b a^b0 0 0 0 00 1 0 1 11 0 0 1 11 1 1 1 0~1=0~0=1

    Operatorul deplasare la stanga

  • Prioritatea operatorilor1. ( )[ ] paranteze rotunde, paranteze vectori2. ! ~ + - ++ -- not logic, not pe biti, +5,-5,a++,a--3. * -> pointeri4. * / % inmultire, div sau impartire, mod5. + - a+b,a-b6. >> = operatori relationali 8. == != operatori relationali egal, diferit9. & si operator logic pe biti 10. ^ sau exclusiv operator logic pe biti 11. | sau operator logic pe biti 12. && si operator logic12. || sau operator logic 13. = += -= /= %= >>=
  • a b a&&b a||bF F F FF A F AA F F AA A A A

    Pr1. Min a doua numere#include using namespace std;int a,b;int main(){ cout a>>b; if (a=a && b>=c && b>=d && b>=e) maxi=b; if(c>=a && c>=b && c>=d && c>=e) maxi=c; if(d>=a && d>=c && d>=b && d>=e) maxi=d; if(e>=a && e>=c && e>=d && e>=b) maxi=e; cout> c >> d >> e; maxi = a; if (maxi < b) maxi = b; if (maxi < c) maxi = c; if (maxi < d) maxi = d; if (maxi < e) maxi = e; cout

  • }Pr4. Ec de gr.I

    #include using namespace std;int a,b;float x;int main(){ cout a>>b; if(a!=0){ x=-(float)b/a; cout

  • if(a> s2; s = s1 + s2; m = m1 + m2; h = h1 + h2; if (s >= 60) { s = s - 60; m = m + 1; } if (m >= 60) { m = m - 60; h = h + 1; } cout
  • Instructi uni repetitive (for, while, do while)

    forforma generala: for( i=vali; i

  • #include using namespace std;int i, s, n, p;int main() { cout > n; p = 1; for (i = 1;i
  • //cate numere pozitive, negative si nule sunt intr-un sir.#include using namespace std;int x, i, n, s, kn, kp, ko;int main() { cout > n; for (i = 1;i > x; if (x > 0) kp = kp + 1; if (x == 0) ko = ko + 1; if (x
  • }WHILE - structura repetitiva cu test initialForma generala:while(cond) instructiune1; sauwhile(cond){ instructiuni1; }Execututie: Daca conditia (cond) este adevarata se realizeaza executia repetata.Cand conditia (cond) este falsa se iese din repetare.

    DO WHILE - structura repetitiva cu test finalForma generala:do{ instructiune1; }while(cond);Execututie: Daca conditia (cond) este adevarata se realizeaza executia repetata.Cand conditia (cond) este falsa se iese din repetare.

    Probleme1.Descompunerea in factori primi pt. un numar x#include using namespace std;int x, d, p;int main() { cout > x; d = 2; while (x != 1) { p = 0; while (x % d == 0) { p++; x = x / d; } if (p > 0) cout

  • using namespace std; int x,y;int main(){ cout >x>>y; while (x!=y){ if(x>y) x=x-y; else y=y-x; } coutb) a=a-b; else b=b-a; } cmmmc=p/a; cout
  • cin>>n; ok=0; for(i=1;i>x; if(x%2==1) ok=1; } if(ok==1) couta>>b; s=a+b; g
  • if(mini>maxi) mini=mini-maxi; else maxi=maxi-mini; g
  • Un vector reprezinta un sir de elemente cu un nume comun asezate in ordine.Ex: un vector cu 10 elemente: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9Declararea vectorui de mai sus in C++ se face astfel: int a[10] .Elementele sale sunt: a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]In general nu vom folosi elemetul a[0].Operatii de baza cu vectori

    1) citirea elementelor unui vector a)de la tastatura cout n; for (i = 1;i > n; for (i = 1;i

  • for (i = 1;i a[i]; for (i = 1;i
  • #include #includeusing namespace std; fstream f("sir.in",ios::in); fstream g("sir.out",ios::out); int a[1000],n,i,x,y;int main(){ f>>n; for(i=1;i>a[i]; for(i=1;i
  • f>>n; for(i=1;i>a[i]; for(i=1;i
  • Matrici (tablouri bidimensionale)O matrice este un tablou cu m linii si n coloane.Ex: o matrice a 4x5

    a[1][1]

    a[1][2]

    a[1][3]

    a[1][4] a[1][5]

    a[2][1]

    a[2][2]

    a[2][3]

    a[2][4] a[2][5]

    a[3][1]

    a[3][2]

    a[3][3]

    a[3][4] a[3][5]

    a[4][1]

    a[4][2]

    a[4][3]

    a[4][4] a[4][5]

    a[4][1]

    a[4][2]

    a[4][3]

    a[4][4] a[4][5]

    Prima linie este formata din elementele: a[1][1] a[1][2] a[1][3] a[1][4] a[1][5]A treia coloana: a[1][3]a[2][3]a[3][3]a[4][3]Un element din matrice este a[i][j] si el se afla in matrice pe linia i si coloana j;Operatii cu matricia)citirea unei matricicitirea de la tastatura

    f>>m>>n;for(i=1;ia[i][j];

    citirea de la tastatura

    coutm>>n;for(i=1;i

  • c)suma elementelor dintr-o matrices=0;for(i=1;i
  • gm>>n; for(i=1;ia[i][j]; for(i=1;i
  • Afisarea in zig-zag a unei matrici sir.in3 31 6 83 4 52 7 9sir.out1 6 8 5 4 3 2 7 9#include #includeusing namespace std; fstream f("sir.in",ios::in); fstream g("sir.out",ios::out); int a[10][10],n,m,i,j;int main(){ f>>m>>n; for(i=1;ia[i][j]; for(i=1;i
  • Stergerea liniei p dintr-o matrice#include #includeusing namespace std; fstream f("sir.in",ios::in); fstream g("sir.out",ios::out); int a[10][10],m,n,i,j,p;int main(){ f>>m>>n>>p; for(i=1;ia[i][j]; for(i=p;i
  • for(i=1;i
  • int d,s=0;for(d=1;d>x>>y; g
  • if(a%d==0) s+=d;}void inverseaza(long &a,long &b){ // & transmitere prin adresaint aux; //inverseaza a cu baux=a;a=b;b=aux; //se poate si cu comanda swap(a,b);}float ip;int main(){ f>>x>>y; suma(x,y,ss); g
  • Afisati numerele dintr-o matrice ce au prop. ca atat ele cat si patratul lor sunt palindroame#include using namespace std;ifstream f("functii.in");ofstream g("functii.out");int n,i,j,a[10][10];

    int palin(long x){long cif,inv,y;inv=0;y=x;while(x){ cif=x%10; inv=inv*10+cif; x=x/10; } if (y==inv) return 1; else return 0;}

    int main(){ f>>n; for(i=1;ia[i][j]; for(i=1;i

  • return 0;}

    // pr 6Ordonati elementele dintr-un sir cu o functie de citire vector, afisare vector, ordonare vector#include using namespace std;ifstream f("functii.in");ofstream g("functii.out");int n,i,j,a[100];//vectorii se transmit prin adresa implicit !!!!void citeste(int x[100],int &n){int i;f>>n;for( i=1;i>x[i];}void afiseaza(int x[100],int n){int i;for( i=1;i

  • int main(){ f>>n; for(i=1;ia[i][j]; g
  • for(d=1;dx>>y; if(prim_eficient(x)&&prim_eficient(y)) g
  • k=1;for(i=1; i
  • ofstream g("sir.out");int n,i,j,a[100][100],mini;void citire(int x[100][100], int &n){ int i; f>>n; for(i=1 ; ix[i][j];}void afisare (int x[100][100], int n){int i; for(i=1 ; i
  • void afisare (int x[100][100], int n){int i; for(i=1 ; i
  • else g>x; gn; k=0; for(i=1;i>a[i]; if (ordonare_cresc(a,n)==1) g