Cornel Iulian

Fondators
  • Content count

    1,409
  • Donations

    15.00 EUR 
  • Joined

  • Last visited

  • Days Won

    53
  • Points

    620,807 [ Donate ]

Everything posted by Cornel Iulian

  1. Cerinta: Fie vectorul V cu elemente intregi, de dimensiune m<=50 (considerati vectori linie). Sa se preia de la consola dimensiunea si elementele vectorului V si sa se afiseze vectorii introdusi. // Afisarea unui vector in C #include <stdio.h> #include <stdlib.h> // vom defini o limita pentru dimensiunea vectorului pe care o vom nota cu M. #define M 50 int V[M+1],m,i; int main() { printf("Sa se introduca dimensiunea vectorului:\n"); if(scanf("%d",&m)!=1||m>M||m<=0) { printf("Date eronate."); exit(1); } printf("Introduceti elementele vectorului V:\n"); for(i=0;i<m;i++) { printf("V[%d]= ",i); if(scanf("%d",&V[i])!=1) { printf("Date eronate"); exit(1); } } printf("\nVectorul V este:\n"); for(i=0;i<m;i++) { printf("%d\t",V[i]); } }
  2. Cerinta: Fie o matrice A cu elemente de tip intreg, de dimensiune mxn. Sa se preia de la consola dimensiunea si elementele matricii si sa se afiseze apoi matricea introdusa. // Afisarea unei matrici in C #include <stdio.h> #include <stdlib.h> // vom defini limita celor doua dimensiuni ale matricii ( m x n ) ( de preferat sa fie doua valori diferite, in caz contrar se considera matrice patratica, iar in acest caz vom defini doar o dimensiune m x m ) #define M 50 #define N 30 int A[M+1][N+1],m,n,i,j; int main() { printf("Sa se introduca numarul de linii si de coloane ale matricii:\n"); if(scanf("%d%d",&m,&n)!=2||m>M||m<=0||n>N||n<=0) { printf("Date eronate."); exit(1); } printf("Introduceti elementele matricii A:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("A[%d][%d]= ",i,j); if(scanf("%d",&A[i][j])!=1) { printf("Date eronate"); exit(1); } } } printf("\nMatricea A este:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("%d\t",A[i][j]); } printf("\n"); } }
  3. Model Reclamatie Admin: Nume: Nume admin reclamat: Motiv: Dovada: Data/Ora: Martori: Atentie! Reclamatiile asupra adminilor se fac doar in caz de abuzuri sau daca ii prindeti cu cod. Daca primiti ban pe motiv ca ati folosit cod, veti face cerere unban si nu reclamatie!!!! ______________________________________________ *Dovada este obligatorie. *Daca modelul nu este respectat, topicul va fi închis. *Va rog sa respectati numele topicului. *Topicul acesta este unul informativ si poate fi modificat doar de unul din administratorii serverul.
  4. Fiecare admin este obligat sa posteze ban-urile creându-si un topic în aceasta sectiune ! Nickname: IP: Motiv: Dovada: IMPORTANT: Numele topicurilor vor fi [CS] - Banlist: Nume Admin Dovezile la banurile permanente nu se pun cu copy/paste! Se accepta doar screenshot / snapshot... altfel veti fi sanctionati !
  5. La TITLU veti scrie Unban Numele (ex: Unban Max). NICKNAME: IP: VARSTA: ID DE STEAM: DATA: ORA: HARTA: ADMIN: MOTIV: MARTORI: DOVEZI: MENTIUNI: In continut veti specifica urmatoarele detalii: NICKNAME: Numele pe care ai luat ban (din consola serverului) IP: adresa IP VARSTA: varsta reala, nu minciuni ID DE STEAM: ID-ul contului de Steam DATA: data cand ai luat ban ORA: ora exacta sau perioada cu aproximatie HARTA: harta pe care ai luat ban ADMIN: adminul care ti-a dat ban (din consola serverului) MOTIV: motivul pentru care ai luat ban MARTORI: alte persoane care au fost de fata in momentul respectiv (preferabil admini) DOVEZI: poze, demo, copie din consola, etc MENTIUNI: Alte detalii cu privire la eveniment (factura de la plata taxei pe unban, etc)
  6. Hmm, chiar daca as avea acesti bani, n-as renunta la facultate pentru singurul fapt ca, niciodata nu se stie ce-ti rezerva viitorul, poti investi in ceva, insa acel ceva nu-ti ofera garantia ca chiar va functiona. Bineinteles, si eu i-as fi investit intr-un business, insa mai intai de toate, trebuie facut un studiu al pietei, altfel, e posibil sa dai faliment.
  7. Cerinta: Sa se scrie programul C care preia de la consola si afiseaza 3 valori intregi, a,b,c, 2 numere reale dubla precizie, x,y si 3 caractere k1, k2, k3. - Sa se determine daca cele trei valori a,b,c pot reprezenta laturile unui triunghi si, daca da, sa se calculeze perimetrul si aria sa. Obs. Conditia necesara pentru ca trei numere sa poata fi lungimile laturilor unui triunghi este ca cele trei numere sa fie pozitive si suma a oricaror doua dintre ele sa fie mai mare decat cel de-al treilea numar. Daca conditia este indeplinita, vom calcula perimetrul si aria triunghiului folosind formula lui Heron. s= sqrt(p*(p-a)*(p-b)*(p-c)), unde p=(a+b+c)/2 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int a,b,c; double x,y; char k1,k2,k3; printf("Introduceti 3 numere intregi:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date eronate"); exit(1); } printf("Ati introdus urmatoarele numere intregi:\na= %d\nb= %d\nc= %d\n\n",a,b,c); printf("Introduceti 2 numere reale:\n"); if(scanf("%lf%lf",&x,&y)!=2) { printf("Date eronate"); exit(1); } printf("Ati introdus urmatoarele valori reale:\nx= %g\ny= %g\n\n",x,y); printf("Introduceti 3 caractere:\n"); fflush(stdin); scanf("%c %c %c",&k1,&k2,&k3); printf("Ati introdus urmatoarele caractere: %c, %c si %c\n\n",k1,k2,k3); // Sa se determine daca cele trei valori a,b,c pot reprezenta laturile unui triunghi si, daca da, sa se calculeze perimetrul si aria sa. double s,p; int per; if((a+b)>c && (a+c)>b && (b+c)>a && a>0 && b>0 && c>0) { per=a+b+c; p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("Valorile %d, %d si %d pot reprezenta laturile unui triunghi ",a,b,c); printf("\nPerimetrul acestui triunghi este: %d, iar semi-perimetrul este %g\n",per,p); printf("Aria acestui triunghi este: %g",s); } else printf("Valorile %d, %d si %d nu pot reprezenta laturile unui triunghi.",a,b,c); }
  8. Cerinta: Sa se tabeleze din grad in grad, intre 0 si 100 grade, valorile functiei cosinus (cosinus de 90 trebuie sa fie afisat ca 0!). Afisarea se va face astfel incat sa se poata citi, ecran cu ecran, toate valorile calculate. #include <stdio.h> #include <conio.h> #include <math.h> int main(void) { int poz; double x; poz=1; for(int i=0;i<=100;i++) { if(i!=90) { x=cos(i); printf("cos(%d)= %g\n",i,x); } else printf("cos(90)= 0!\n"); if(poz%26==0) { printf("\npress any key...\n"); getch(); } poz++; } }
  9. Cerinta: Stiind ca dezvoltarea in serie a functiei sin(x) este: sin(x) = x/1!-x^3/3!+x^5/5!-... sa se calculeze valoarea aproximativa a lui sin(x), pentru un x preluat de la consola, cu o eroare mai mica in modul decat un eps precizat. #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int k; double x,eps,t,sin_aprox; printf("Sa se introduca doua valori reale, x si eps:\n"); if(scanf("%lf%lf",&x,&eps)!=2) { printf("Date eronate"); exit(1); } sin_aprox=0; k=1; t=x; while(fabs(t)>=eps) { sin_aprox+=t; t*=(-x*x)/((2*k)*(2*k+1)); k+=1; } printf("sin_aprox(%g)= %g\nsin(%g)= %g",x,sin_aprox,x,sin(x)); return 0; }
  10. Cerinta: Sa se scrie un program care preia in mod repetat de la consola un caracter si afiseaza codul sau ASCII. #include <stdio.h> #include <stdlib.h> int main(void) { char n; int aux; do { printf("Introduceti un caracter: "); fflush(stdin); scanf("%c",&n); printf("\nCodul ascii pentru caracterul %c este %d\n\n",n,n); aux=n; } while(aux<=255&&aux>=1); }
  11. Cerinta: Sa se scrie un program care, preluand un numar intreg (<=100) de la consola, afiseaza transcrierea sa in notatie romana. #include<stdio.h> #include<stdlib.h> #include <conio.h> #define SIMBOL_UNU caractere_romane[simbol] #define SIMBOL_CINCI caractere_romane[simbol + 1] #define SIMBOL_ZECE caractere_romane[simbol + 2] int main(){ char caractere_romane[] = "IVXLC"; //i=1, v=5, x=10, l=50, c=100 int n; printf("Sa se introduca un numar din intervalul 1-100: "); if (scanf("%d", &n) != 1) { printf("Date eronate"); exit(1); } if(n>100 || n<1){ printf("Numarul nu se afla in intervalul [1-100]"); exit(1); } int copie = n, nr_cifre = 1, pozitie = 1; while((copie /= 10) && nr_cifre++ && (pozitie *= 10)); int simbol = nr_cifre * 2 - 2; printf("Notatia in cifre romane pentru numarul %d este: ",n); while(pozitie){ int cifra = n / pozitie % 10; switch(cifra){ case 9: printf("%c%c", SIMBOL_UNU, SIMBOL_ZECE); break; case 8: printf("%c%c%c%c", SIMBOL_CINCI, SIMBOL_UNU, SIMBOL_UNU, SIMBOL_UNU); break; case 7: printf("%c%c%C", SIMBOL_CINCI, SIMBOL_UNU, SIMBOL_UNU); break; case 6: printf("%c%c", SIMBOL_CINCI, SIMBOL_UNU); break; case 5: printf("%c", SIMBOL_CINCI); break; case 4: printf("%c%c", SIMBOL_UNU, SIMBOL_CINCI); break; case 3: printf("%c%c%c", SIMBOL_UNU, SIMBOL_UNU, SIMBOL_UNU); break; case 2: printf("%c%c", SIMBOL_UNU, SIMBOL_UNU); break; case 1: printf("%c", SIMBOL_UNU); break; default: break; } pozitie /= 10; simbol -= 2; } getch(); return 0; }
  12. Cerinta: Se preia de la consola numarul termenilor (de tip intreg) ce urmeaza a fi prelucrati. Se cere sa se scrie un program care sa calculeze produsul termenilor pari preluati de la consola si media aritmetica a termenilor pozitivi (termenii NU se pastreaza in memorie, ci doar se prelucreaza adecvat). #include <stdio.h> #include <stdlib.h> int main(void) { int n,x,sp,nr_poz; double p,ma; printf("Sa se introduca numarul de termeni ce urmeaza a fi prelucrati: "); if(scanf("%d",&n)!=1||n<=0) { printf("Date eronate"); exit(1); } p=1.0f; sp=0; nr_poz=0; for(int i=1;i<=n;i++) { printf("x%d= ",i); if(scanf("%d",&x)!=1) { printf("Date eronate"); exit(1); } if(x%2==0) { p*=x; } if(x>0) { sp+=x; nr_poz+=1; } } ma=(double)sp/nr_poz; printf("Produsul termenilor pari: %g\nMedia aritmetica a termenilor pozitivi: %g",p,ma); }
  13. Cerinta: Sa se scrie programul C care preia de la consola si afiseaza 3 valori reale dubla precizie, a,b,c, 3 numere intregi, m,n,p si 2 caractere c1, c2. - Sa se scrie secventa de cod care citeste un caracter folosind macro-ul getchar, il afiseaza folosind macro-ul putchar, trece cursorul in coloana 1 a liniei urmatoare, daca s-a tastat o litera mica se afiseaza ca litera mare si afiseaza fereastra utilizator pana la actionarea unei taste. #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { double a,b,c; int m,n,p; char c1,c2; printf("Introduceti 3 valori reale:\n"); if(scanf("%lf%lf%lf",&a,&b,&c)!=3) { printf("Date eronate!"); exit(1); } printf("Introduceti 3 numere intregi:\n"); if(scanf("%d%d%d",&m,&n,&p)!=3) { printf("Date eronate!"); exit(1); } printf("Introduceti 2 caractere:\n"); fflush(stdin); scanf("%c %c",&c1,&c2); printf("\nAti introdus 3 valori reale:\na= %g\nb= %g\nc= %g\n",a,b,c); printf("Ati introdus 3 numere intregi:\nm= %d\nn= %d\np= %d\n",m,n,p); printf("Ati introdus caracterele: %c si %c\n",c1,c2); // Sa se scrie secventa de cod care citeste un caracter folosind macro-ul 'getchar' si il afiseaza folosind macro-ul 'putchar'.. char c3; printf("Sa se citeasca un caracter:\n"); fflush(stdin); // eliberam zona tampon c3=getchar(); // citim un caracter cu macro-ul getchar printf("\nAti introdus caracterul: "); putchar(c3); // afisam caracterul cu macro-ul putchar printf("\n"); // trecem cursorul pe linia urmatoare, coloana 1 if((c3>='a'&&c3<='z')||(c3>='A'&&c3<='Z')) if(c3>='a'&&c3<='z') printf("Majuscula literei %c este %c",c3,c3-'a'+'A'); else printf("%c nu este un caracter.\n",c3); getch(); // afiseaza fereastra utilizator pana la actionarea unei taste; }
  14. Topic vechi.
  15. Cerinta: Sa se scrie programul C care preia de la consola si afiseaza 2 valori intregi m,n, 2 numere reale simpla precizie a,b si 3 caractere x,y,z. Preluarea si afisarea datelor vor fi insotite de mesaje adecvate, semnalizandu-se cazul introducerii unor date eronate. Sa se calculeze, memoreze si afiseze expresiile: - E1 = media aritmetica dintre m si n - E2 = (restul impartirii lui m la n) + (1 + a)^|b| #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int m,n; float a,b,E1,E2; char x,y,z; printf("Sa se introduca 2 valori intregi:\n"); if(scanf("%d%d",&m,&n)!=2) { printf("Date eronate"); exit(1); } printf("Sa se introduca 2 numere reale:\n"); if(scanf("%f%f",&a,&b)!=2) { printf("Date eronate"); exit(1); } printf("Sa se introduca 3 caractere:\n"); fflush(stdin); scanf("%c %c %c",&x,&y,&z); printf("\nAti introdus 2 numere intregi:\nm=\t%d\nn=\t%d\n\nAti introdus 2 numere reale:\na=\t%g\nb=\t%g\n\nAti introdus 3 caractere: %c, %c si %c\n",m,n,a,b,x,y,z); // Sa se calculeze, memoreze si afiseze expresiile: // E1 = media aritmetica dintre m si n // E2 = (restul impartirii lui m la n) + (1 + a)^|b| E1=(m+n)/2; E2=(m%n)+pow((1+a),fabs(b)); printf("E1= %g\nE2= %g",E1,E2); return 0; } Observatii: - "%" (percent) reprezinta restul impartirii unui numar la alt numar, exemplu (6%5), unde 6 este m, iar 5 este n, iar acest lucru este egal cu 1. - pow(x,y) - reprezinta x la puterea y. In cazul de fata avem pow((1+a),fabs(b)), acest lucru se citeste ca (1+a) la puterea |b| (in modul) care este un numar real de tip float (de aici si notatia fabs(); ).
  16. Cerinta: Sa se scrie programul C care preia de la consola si afiseaza 2 valori intregi m,n, 3 numere reale dubla precizie, a, b, c si 3 caractere k1, k2, k3. - Presupunand ca c este diferit de zero si expresia b^2-4c*a>=0, sa se calculeze, memoreze si afiseze radacinile ecuatiei cx^2+bx+a=0. #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int m,n; double a,b,c,delta,x1,x2; char k1,k2,k3; printf("Introduceti 2 valori intregi:\n"); if(scanf("%d%d",&m,&n)!=2) { printf("Date eronate"); exit(1); } printf("\nIntroduceti 3 numere reale:\n"); if(scanf("%lf%lf%lf",&a,&b,&c)!=3) { printf("Date eronate"); exit(1); } printf("\nSa se introduca 3 caractere:\n"); fflush(stdin); scanf("%c %c %c",&k1,&k2,&k3); printf("\nAti introdus 2 valori reale:\nm=\t%d\nn=\t%d\n\nAti introdus 3 numere reale:\na=\t%g\nb=\t%g\nc=\t%g\n\nAti introdus caracterele: %c, %c si %c\n",m,n,a,b,c,k1,k2,k3); // Presupunem ca c!=0 si b^2-4ca>=0 // Sa se calculeze, memoreze si afiseze radacinile ecuatiei cx^2+bx+a=0 if(c!=0) { printf("\n\nEcuatie de gradul 2 cu doua necunoscute, x1 si x2.\n"); delta=b*b-4*c*a; if(delta>0) { x1=(-b-sqrt(delta))/(2*c); x2=(-b+sqrt(delta))/(2*c); printf("Delta > 0.\nx1=\t%g\nx2=\t%g\n",x1,x2); } else if(delta==0) { x1=(-b)/(2*c); printf("Delta = 0 => x1 = x2 = %g\n",x1); } else printf("Delta < 0. Nu avem solutii reale\n"); } else printf("Valoarea lui c este 0\n"); return 0; }
  17. Cerinta: Sa se scrie un program C care preia de la consola si afiseaza 2 valori reale dubla precizie, x,y, 3 numere intregi, a,b,c, si 2 caractere car1, car2. Preluarea datelor vor fi insotite de mesaje adecvate. - Sa se calculeze, memoreze si afiseze valorile functiei: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int a,b,c; double x,y; char car1,car2; printf("Sa se introduca 2 valori reale:\n"); if(scanf("%lf%lf",&x,&y)!=2) { printf("Date eronate."); exit(1); } printf("\nSa se introduca 3 numere intregi:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date eronate."); exit(1); } printf("\nSa se introduca 2 caractere:\n"); fflush(stdin); scanf("%c %c",&car1,&car2); printf("\nAti introdus urmatoarele:\n"); printf("Valori intregi:\nx=\t%g\ny=\t%g\n\nNumere intregi:\na=\t%d\nb=\t%d\nc=\t%d\n\nCaractere:\t%c\tsi\t%c\n\n",x,y,a,b,c,car1,car2); // Sa se calculeze, memoreze si afiseze valorile functiei: // 2^x + ln|x| x<0 // f(x) = 0 x=0 // sqrt(9+x^2)+cos(x) // ------------------ x>0 // 2x double f; if(x<0) { f=pow(2,x)+log(fabs(x)); printf("\nX<0\nf(%g)=\t%g",x,f); } else if(x==0) { f=0; printf("\nX=0\nf(%g)=\t%g",x,f); } else { f=(sqrt(9+pow(x,2))+cos(x))/(2*x); printf("\nX>0\nf(%g)=\t%g",x,f); } return 0; } Observatii: - valorile reale de dubla precizie se citesc intotdeauna cu specificatorul de format "%lf" (long float); - inainte de a citi anumite caractere, folositi functia "fflush(stdin)" (este folosit pentru a șterge datele din memoria tampon); - legat de ln|x|, aveti in vedere ca x este o variabila de tip float, astfel, avem de a face cu modul dintr-un numar real, adica fabs(x) (pentru numere intregi se foloseste functia abs(); );
  18. Salut, @ThEOnEpiK . Daca aceste creatii sunt facute de tine, te felicit! Sunt destul de frumoase.
  19. Salut colegu'
  20. Cerinta: Creati un program care cere sa se introduca de la tastatura un numar intreg, pozitiv x si sa se afiseze paritatea acestuia. #include <stdio.h> #include <stdlib.h> int main() { int x; printf("Introduceti un numar intreg, pozitiv pentru afla daca este par sau impar: "); if(scanf("%d",&x)!=1||x<=0) { printf("Date eronate"); exit(1); } if(x%2==0) // daca restul impartirii lui x la 2 este 0, rezultatul va fi par, in caz contrar, va fi impar printf("Numarul %d este par",x); else printf("Numarul %d este impar",x); return 0; }
  21. Cerinta: Sa se creeze un program in limbaj C care calculeaza suma si produsul a n numere pare introduse de la tastatura. Obs: Numarul de termeni sa fie mai mare sau egal cu 1. #include <stdio.h> #include <stdlib.h> int main() { int n,sum,prod; printf("Sa se introduca numarul de termeni: "); if(scanf("%d",&n)!=1||n<=0) // aceasta functie afiseaza o eroare daca se va introduce un caracter sau numarul introdus este mai mic sau egal cu 0 { printf("Date eronate"); exit(1); } sum=0; prod=1.0f; for(int i=1;i<=n;i++) { int x; printf("X%d: ",i); if(scanf("%d",&x)!=1) { printf("Date eronate"); exit(1); } if(x%2==0) // daca expresia este indeplinita, numarul este unul par { sum+=x; prod*=x; } } if(prod==1) // am pus aceasta conditie pentru a anula valoarea initiala a produsului (prod=1) in cazul in care acesta va fi tot 1. prod=0; printf("Suma termenilor pari = %d\nProdusul termenilor pari = %d",sum,prod); }
  22. Cerinta: Sa se afiseze urmatorul triunghi de numere, pentru un N definit: N N N-1 N N-1 N-2 .............. N N-1 N-2 ... 3 2 1 Rezolvare: #include<stdio.h> #include<stdlib.h> int main(void) { int n,i,j; printf("Introduceti o valoare lui N: "); if(scanf("%d",&n)!=1) { printf("Date eronate."); exit(1); } for(i=n;i>=1;i--) { for(j=n;j>=1;j--) { if(i==1 || i==j || i<j) printf("%d ",j); } printf("\n"); } return 0; } Demo(pentru N=10):
  23. Cerinta: Pentru doua numere distincte a si b, sa se afiseze cmmdc al acestora. #include <stdio.h> #include <stdlib.h> int main(void) { int a,b,r,aux1,aux2; printf("Introduceti 2 numere:\n"); if(scanf("%d%d",&a,&b)!=2) // Aeasta conditie afiseaza o eroare atunci cand se va introduce o litera. { printf("Date eronate"); exit(1); } aux1=a; // folosesc acest auxiliar pentru a salva valoarea variabilei b aux2=b; // folosesc acest auxiliar pentru a salva valoarea variabilei b while(b!=0) { r=a%b; // se va face restul impartirii lui a la b, iar ciclul se repeta pana cand b este egal cu 0 a=b; // variabila a va primi valoarea lui b cat timp este indeplinita expresia de mai sus (b!=0) b=r; } printf("CMMDC(%d,%d) = %d",aux1,aux2,a); // in paranteze voi afisa valorile initiale ale lui a si b prin auxiliare. }
  24. Cerinta: Creati un program C care transforma orele si minutele in secunde. #include <stdio.h> #include <stdlib.h> int main(void) { int ore,minute,secunde,rezultat; printf("Introduceti timpul in ore, minute si secunde:\n"); if(scanf("%d%d%d",&ore,&minute,&secunde)!=3) { printf("Date eronate"); exit(1); } rezultat=ore*3600+minute*60+secunde; printf("In total s-au obtinut %d secunde.",rezultat); return 0; }
  25. Cerinta: Sa se creeze un program care ordoneaza in ordine descrescatoare 3 numere intregi introduse de la tastatura. #include <stdio.h> #include <stdlib.h> int main(void) { int a,b,c,aux; printf("Introduceti numerele:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date eronate"); exit(1); } if(a<b) { aux=a; a=b; b=aux; } if(b<c) { aux=b; b=c; c=aux; } if(a<b) { aux=a; a=b; b=aux; } printf("Numerele puse in ordine descrescatoare:\na=%d\nb=%d\nc=%d",a,b,c); return 0; }