Top Banner

of 38

Curs Code Blocks

Oct 30, 2015

Download

Documents

curs ce te ajuta sa intelegi utilizarea programului Code Blocks
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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