ce_facem_azi1


 * lantul slabiciunilor**


 * distante**


 * 1) include


 * 1) include

using namespace std;

int a[20][20],n,m,d;

struct punct{int x,y;}p[50];

void citire

{ifstream fin("date.in");

int x,y,i,c;

fin>>n>>d;

for(i=1;i<=n;i++)

fin>>p[i].x>>p[i].y;

}

double distata(punct a,punct b)

{double xd,yd;

xd=a.x-b.x;

yd=a.y-b.y;

return sqrt(xd*xd-yd*yd);

}

void matrice

{int k,i,j;

double D;

for(i=1;i<=n;i++)

{for(j=i+1;jd)

a[j][i]=D;

else

a[i][j]=a[j][i]=D;

}

}
 * int main**
 * {citire;**
 * matrice;**
 * for(i=1;i<=n;i++)**
 * {for(j=1;j<=n;j++)**
 * cout<<a[i][j]<<" ";**
 * cout<<endl;**
 * }**


 * }**


 * 5 2**
 * 1 1**
 * 3 1**
 * 2 2**
 * 3 3**
 * 2 5**


 * PROBLEMA COMIS-VOIAJORULUI 9.02.2012**



using namespace std; char A[10],B[10],m,n; int x[10],nr=0; void afisare {cout<<"f"<>A;

cout<<"dati multimea b";

cin>>B;

n=strlen(A);

m=strlen(B);

cout<<"x"<<"|";

for( int i=0;i1) { for(int j=1;j=i+1;j--) a[j] = a[j-1]; a[i] = s2[0]; a[i+1] = s2[1]; } else{ if(a[i] ==' ') ok =0; } }

void f11(char a[],char s1[], char s2[]) { for(int i=0;i<strlen(a)-1;i++) if(a[i]==s1[0] && a[i+1]==s1[1] && isalpha(a[i+2])==0) { a[i]=s2[0]; a[i+1]=s2[1]; } }

void f12(char a[]) { char *p,b[100]; for(p=a;*p;p++) if(*p=='F') { /*strcpy(p+2,p+1); p++;*/ strcpy(b,p+1); strcat(a,"F"); strcat(a,b); a[strlen(b)+p-a+2]='\0'; p++; } }
 * (p+1)='F';
 * (p+1)='\0';

void f13(char a[]) { int i; char b[100]; for(i = 0; i < strlen(a) - 1; i++) { if(a[i] == 'E' && (a[i+1] == ' ' || a[i+1] == '.')) { strcpy(b, a + i + 1); a[i+1] = '-'; a[i+2] = 'A'; strcpy(a+i+3,b); } } }

void f14(char a[]) { char s[100],k=1; int i; for(i=0;iSa se exemplifice algoritmul Mergesort si algoritmul Quicksort pentru sortarea urmatorului sir:


 *  n=9 X = (10, 20, 6, 7, 3, 12, 9, 8, 13, 4, 9) **
 * 1) Sa se descrie mutarile care trebuie facute daca dorim sa mutam n=5 discuri de pe o tija pe alta (Turnurile din Hanoi.). Cate mutari se fac?


 * Marti 24 mai 2011 **

1) __**TURNURILE DIN HANOI**__ Se dau 3 tije numerotate 1,2,3. Pe dija 1 se gasesc n discuri perforate de diametre diferite asezate unul peste celalat in ordine descrescatoare a diametrelor. Celelalte 2 tije sunt goale. Sa se afiseze toate mutarile prin care discurile se duc pe tija a doua folosind tija 3 ca tija de manevra. Un disc se poate muta doar peste unul cu dimensiune mai mare.



2) __**QUICKSORT**__



Marti 10 mai 2011

MERGESORT

//#include // //using namespace std;// //int a[100],n;// //void interclasare(int s, int m, int d)// //{// //int c[100],i=s,j=m+1,k=0;// //while(i<=m && j<=d)// //if(a[i]=1)// //{// //int m=(s+d)/2;// //merge(s,m);// //merge(m+1,d);// //interclasare(s,m,d);// //}// //}// //int main// //{// //cout<<"n=";// //cin>>n;// //cout<<"Dati sirul: "<>a[i];// //merge(0,n-1);// //cout<<"Sirul ordonat: "<<endl;// //for(int i=0;i<n;i++)// //cout<<a[i]<<" ";// //}//

// Luni 9 Mai 2011 //

//1. Se cauta un numar y intr-un vector ordonat strict crescator.// //Modificati functia de CB astfel incat sa se afiseze mesajul DA/NU, in functie de rezultatul cautarii si nu pozitia la care se gaseste numarul in sir (respectiv -1).//

//2. Mai afisati in functia de mai sus si modul in care se selecteaza intervalele: jum. dreapta, jum. stanga etc.//

//3. Se da un tablou X de n numere naturale. Folosind un algoritm DI, se calculeaza cmmdc-ul numerelor din tablou. Sa se afiseze doar// //modul in care se determina, ca mai jos://

//daca n=2, se va afisa: cmmdc(X0,X1)// //daca n=3, se va afisa cmmdc (cmmdc (X0,X1), X2) )// //daca n=4, se va afisa cmmdc (cmmdc (X0,X1) , cmmdc(X2,X3) )//

//4*.//Placa perforata//. Se da o bucata dreptunghiulara de tabla cu lungimea L si inaltimea H, avand pe suprafata ei n gauri de coordonate numere intregi (relativ la coltul din stanga-jos al placii). Se cere sa se decupeze din placa o bucata de arie maxima care nu prezinta gauri. Sunt permise numai taieturi orizontale si verticale. Se citesc numarul de perforatii, coordonatele relative la coltul stanga jos al tablei al perforatiilor si lungimea si latimea tablei Ex: pentru: 7 2 17 4 7 31 2 14 20 25 13 31 24 14 1 40 30 Se obtine: Cea mai mare suprafata neperforata are coordonatele (4,1) ; (25,20) Are suprafata 399

Vineri 6 Mai

1. Sa se afiseze intervalele in care se face cautarea unui element intr-un vector ordonat, folosind algoritmul de cautare binara. 2. Se citeste de la tastatura un vector de n numere intregi, distincte si un numar S. Sa se afiseze toate perechile de elemente (a,b) din tablou cu a+b=S.

Tema: 3. n copii sunt insirati la ora de sport. Profesorul vrea sa aleaga un conducator in felul urmator: Daca spune "dreapta", copiii din jumatatea dreapta raman pe loc, ceilalti pleaca la vestiare. Daca spune stanga, la fel. Copilul din mijloc pleaca si el la vestiar. (daca acestia sunt in nr impar). Ultimul ramas e conducatorul. Cunoscandu-se numerele lor de pe tricouri, 1,2,..n (in ordinea in care sunt asezati, spuneti daca elevul cu numarul y poate deveni conducator si care va fi ordinea st, dr pt ca acesta sa devina conducator.

Marti 3 Mai 2011

Folosind D&I: 1. Sa se afiseze nr de elem prime dintr-un tablou de nr intregi 2. Sa se afiseze nr de numere impare dintr-un tablou de nr intregi. 3. Sa se afiseze suma cifrelor tuturor elementelor unui tablou de numere intregi. 4. Triunghiul lui Sierpinski

Tema:

1. Triunghiul lui Sierpinski- cei care nu l-au terminat. 2. Sa se determine numarul de elemente dintr-un tablou de nr intregi care contin doar cifre pare.(folosind D&I) 3. Sa se **afiseze** acele elemente dentr-un tablou de numere intregi, care au suma cifrelor > decat un k dat. De ex daca n=6 si k=4, iar tabloul este X=(12, 45, 89, 3, 78,11) se afiseaza 45, 89, 78.

Luni 11 Aprilie 2011

Marti 1Feb 2011 Proiect

Se citeste de la tastatura un tablou cu n elemente, toate cifre. Asupra tabloului se fac urmatoarele operatii: -se elimina zerourile si toate elementele din dreapta acestora -se calculeaza media (si se trunchiaza). Daca media apare de mai multe ori in sir, ne intereseaza cea mai din dreapta aparitie. Daca media nu apare, se determina cel mai mare numar mai mic decat media. (cea mai din dreapta aparitie) Din aceasta valoare se scade 1 (daca e numar impar) si 0 daca este numar par. Sa se afiseze toate transformarile sirului.

using namespace std;
 * 1) include

int main { int a[100], n, p, m, ok, poz; citire(a, n); while(a[0] != 0 && n > 0) { p = zero(a, n); if(p != -1) eliminare(a, n, p); if(n == 0) break; m = media(a, n); ok = cautam_m(a, n, m, poz); if(ok) scadere(a, n, poz); else { cautam_vm(a, n, m, poz2); scadere(a, n, poz2); } afisare(a, n); }

return 0; }

Luni 21 februarie 2011

Se citesc din fisierul "Date.in" un numar n si elementele unei matrici patratice (nxn) de numere intregi. Sa se scrie functii pentru a realiza urmatoarele: -afisarea matricii -suma elementelor unei linii date ca parametru -produsul elementelor unei coloane date ca parametru -schimbarea a 2 linii intre ele -determinarea minimului de pe o linie -verificare matrice simetrica fata de diagonala principala

Obs. cum toate aceste operatii se efectueaza asupra unei singure matrici, se va declara variabila globala si nu se va transmite ca parametru in functiile de mai sus.

1. Se citeste dintr-un fisier text o matrice patratica. Sa se verifice daca e patrat magic. 2 optionala :) Se citeste un numar n. Sa se genereze un patrat magic nxn. (Gasiti modalitati de generare, destul de simple, pe Internet)
 * Tema**:

Marti 15 februarie 2011 1. n elevi au dat un test grila. O intrebare are 3 variante de raspuns, din care doar una e corecta. Pentru fiecare raspuns corect, elevul primeste un punct. a) Cunoscand variantele corecte, afisati punctajul fiecaruia. b) Afisati elevii descrescator dupa punctaj

Citirea din fisier, ca mai jos:

Grila.in 3 ( 3 elevi) aabbcabaabb (variantele corecte) Sergiu aaabbbbaaaa (6 corecte) Andrei abcbbcbbbaa (3 corecte) Andreea aabbcccacaa (6 corecte)

rezolvare using namespace std; struct elev { char nume[10]; int pct; }; struct clasa elev x[20]; int n; ofstream fout("date.out"); int verificare(char s[50],char c[50]) { int i,k=0; for(i=0;i>n; fin>>cor; for(i=0;i>x[i].nume>>v; x[i].pct=verificare(v,cor); } fin.close; } void afisare { int i; for(i=0;i<n;i++) fout<<x[i].nume<<" "<<x[i].pct<<endl; } void ordonare { elev aux; int ord,i; do { ord=1; for(i=0;i<n-1;i++) if(x[i].pct<x[i+1].pct) { aux=x[i]; x[i]=x[i+1]; x[i+1]=aux; } } while(ord==0); } int main { citire; afisare; ordonare; fout<<"dupa ordonare"; afisare; return 0; }
 * 1) include
 * 2) include
 * 3) include

2.*Modificati problema: m clase au dat un test grila (m fisiere text: Grila1.txt, Grila2.txt etc). Faceti un clasament al claselor. using namespace std; struct elev { char nume[10]; int pct; }; elev x[20]; int n; int verificare(char s[50],char c[50]) { int i,k=0; for(i=0;i>n; fin>>cor; for(i=0;i>x[i].nume>>v; x[i].pct=verificare(v,cor); } fin.close; } void afisare { int i; cout<<"elevi"; ofstream fout("date.out"); for(i=0;i>m; for(ii=0;ii<=m;ii++) {strcpy(nume,"grila"); itoa(ii,sir,10); strcat(nume,sir); strcat(nume,".txt"); citire(nume); for(i=0;i<n;i++) p[ii]=p[ii]+x[i].pct; cout<<"clasa"<<ii<<"arepunctajul"<<p[ii]<<endl;
 * 1) include
 * 2) include
 * 3) include

}return 0; }

3. Scrieti functii care sa efectueze urmatoarele: a) elimina cifrele impare dintr-un numar (numarul initial se transforma in functie) b) returneaza prima cifra a unui numar c) elimina dintr-un numar prima si ultima cifra.

4. Se da un tablou de numere intregi. a) sa se determine elementul maxim si cel maxim (intr-o singura functie) b) sa se afle numarul de aparitii ale unei valori date, k, in tablou c)sa se elimine elementul de pe pozitia t Se vor scrie functii pentru citirea si afisarea unui tablou.

Tema: b si c de la ex. 3

Vineri 11 februarie 2011 1. Din nou zaruri. Doi copii se joaca iar. Fiecare arunca, pana da 6. Castiga cel care a aruncat toate fetele. Daca ambii au aruncat toate fetele, castiga cel care are suma zarurilor mai mare. Daca sumele sunt egale,castiga cel care a aruncat de mai putine ori. Daca au aruncat de acelasi numar, e egalitate. Care castiga? Se va scrie o functie pentru aruncarile unui copil.

2. Sa se implementeze urmatoarele functii: -functie care numara vocalele dintr-un sir de caractere -functie care verifica daca un sir de caractere e palindrom -functie care returneaza suma tuturor cifrelor care apar intr-un sir de caractere

Sa se apeleze toate functiile de mai sus, pentru fiecare linie a unui fisier text.

=== Tema : ce nu am terminat din lista de mai sus + 5 formule din fizica sau chimie de scris in caiet + de inventat un joc cu zaruri (doar enuntul jocului) pe pagina personala. ( Atentie la enunt!! )===


 * 8 feb 2011**

problema 8,9 fisa subprograme bac 2008 Tema problema 11

Pe echipe rezolvam urmatoarele cerinte si le postam pe pagina grupei: -Din fisa cu probleme de bacalaureat, pentru toate functiile care trebuie scrise, scriem antetul lor. -Grupa compune o problema cu aplicatii la functii (fizica, chimie, matematica), ii posteaza enuntul si rezolvarea pe pagina grupei.
 * 7 feb 2011**

Tema: de compus si rezolvat o problema, de postat pe pagina personala.

**14 ian 2011**
Tema: fisa 4 (problemele neterminate in clasa)

**10 ian 2011**
De terminat fisa 1 + fisa 2. Tema: de conspectat teoria + problema 2 fisa 2

**11 ian 2011**
Tema: Problemele 1 si 3 fisa 3