-
Content count
14,057 -
Donations
15.00 EUR -
Joined
-
Last visited
-
Days Won
56 -
Points
429,248 [ Donate ]
Posts posted by Cornel Iulian
-
-
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. }
-
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; }
-
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; }
-
Cerinta: Sa se creeze un program care ordoneaza in ordine crescatoare 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 crescatoare:\na=%d\nb=%d\nc=%d",a,b,c); return 0; }
-
Cerinta: Creati un program C care transforma o litera mica in majuscula.
// char c este litera mica, transform-o in majuscula #include <stdio.h> #include <conio.h> int main() { char c; printf("Introduceti un caracter: "); c=getche(); printf("\n"); if(c>='a'&&c<='z'||c>='A'&&c<='Z') if(c>='a'&&c<='z') printf("Majuscula literei '%c' este '%c'",c,c-'a'+'A'); else printf("Nu ati introdus o litera mica."); else printf("Nu ati introdus un caracter."); return 0; }
-
Cerinta: Pentru un numar intreg, pozitiv 'a', sa se determine daca acesta este sau nu patrat perfect.
# include <stdio.h> # include <stdlib.h> # include <math.h> int main() { int a,n; printf("Introduceti un numar intreg: \n"); if(scanf("%d",&a)!=1||a<=0) { printf("Date eronate."); exit(1); } n=sqrt(a); if(n*n==a) printf("%d este patrat perfect.\n",a); else printf ("%d nu este patrat perfect.\n",a); return 0; }
-
Cerinta: Sa se scrie un program C care determina media aritmetica dintre 3 numere intregi.
#include <stdio.h> #include <stdlib.h> int main(void) { int a,b,c; double ma; printf("Introduceti 3 numere intregi:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date eronate"); exit(1); } ma=(a+b+c)/3.0; // aici punem 3.0 deoarece se aplica regula conversiei implicite ( impartim numerele intregi a, b, c la un numar real ( 3.0 ), rezultand un real, exemplu: 5.32 ) printf("Media aritmetica este: %g",ma); // operatorul %g este folosit pentru a afisa o valoare reala ( variabila "ma" este de tip double, care reprezinta un numar real ) return 0; }
-
Cerinta: Sa se scrie un program C care determina maximul dintre 3 numere intregi.
#include <stdio.h> #include <stdlib.h> int main(void) { int a,b,c,max; printf("Introduceti 3 numere intregi:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date eronate"); exit(1); } if(a>b) max=a; else max=b; if(max<c) max=c; printf("Maximul dintre %d,%d,%d este: %d",a,b,c,max); return 0; }
-
-
Cerinta: Sa se scrie un program care sa determine daca un intreg pozitiv preluat de la consola este prim sau nu.
#include <stdlib.h> #include <stdio.h> int main() { int nr, prim; printf("Introduceti un nr intreg: "); if(scanf("%d",&nr)!=1 || nr<0) { printf("Date eronate!!"); exit(1); } if(nr==2); prim=1; if(nr==1) prim=0; if(nr==0) prim=0; for( int i=2; i<=(nr/2); i++) { if(nr%i==0) prim=0; } if(prim==1) printf("%d este numar prim.\n",nr); else printf("%d nu este numar prim.\n",nr); return 0; }
-
Cerinta: Pentru toate perechile distincte de numere intregi, inferioare unui n preluat de la consola, sa se afiseze cmmdc al acestora.
#include<stdlib.h> #include<stdio.h> int main() { int n,i,j; printf("Introduceti o valoare pozitiva lui N: "); if(scanf("%d",&n)!=1) { printf("Date eronate"); exit(1); } if(n<=0) printf("N<=0. Introduceti o valoare pozitiva."); for (i=1;i<=n;i++) { for (j=i+1;j<=n;j++) { int a=i,b=j,r; while (b!=0) { r=a%b; a=b; b=r; } printf("CMMDC(%d, %d)= %d\n",i,j,a); } } return 0; }
-
Cerinta: Sa se scrie un program C pentru rezolvarea ecuatiei de gradul 1.
#include <stdio.h> #include <stdlib.h> int main() { float a,b,x; printf("Introduceti valorile lui a si b: "); if(scanf("%f%f",&a,&b)!=2) { printf("Date eronate!"); exit(1); } if(a!=0) { x=-b/a; printf("Valoarea lui x este: %g",x); } else if(b!=0) printf("Ecuatie imposibila."); else printf("Ecuatie nedeterminata."); return 0; }
-
Cerinta: Sa se calculeze suma primelor k numere impare, unde k este un intreg pozitiv ce se preia de la consola.
#include <stdio.h> #include <stdlib.h> int main () { int k,sum,i; printf("Sa se calculeze suma primelor k numere impare.\n\n"); printf("Introduceti un numar intreg, pozitiv pentru k: "); if(scanf("%d",&k)!=1||k<=0) { printf("Date eronate!!"); exit(1); } sum=0; for(i=1;i<=2*k;i+=2) { sum+=i; } printf("Suma: %d",sum); return 0; }
-
Cerinta: Sa se scrie un program C care sa afiseze toate cele 256 caractere ale codului ASCII extins: pe cate o linie nr. de ordine in tabelul ASCII si caracterul aferent. Afisarea trebuie sa se opreasca astfel incat sa permita citirea tabelului ecran cu ecran, invitand operatorul sa actioneze o tasta pentru a continua. Se va tine cont ca pe ecran se pot afisa 25 de linii.
#include <stdio.h> #include <conio.h> int main() { int i; for(i=0; i<=255; i++) { printf("%d -> %c \n",i,i); if((i+1)%23==0) { printf("\nApasati o tasta pentru a continua...\n"); getch(); } } return 0; }
-
Cerinta: Se preia de la consola numarul termenilor ce urmeaza a fi prelucrati. Se cere sa se scrie un program care sa calculeze suma termenilor si media aritmetica a termenilor pozitivi (termenii NU se pastreaza in memorie, ci doar se prelucreaza).
#include <stdio.h> #include <stdlib.h> int main() { int n,x,i,sum=0; double ma=0; printf("Introduceti nr de termeni: "); if(scanf("%d",&n)!=1||n<=0) { printf("Date eronate"); exit(1); } for(i=1;i<=n;i++) { printf("x="); if(scanf("%d",&x)!=1||x<=0) { printf("Date eronate"); exit(1); } sum=sum+x; } ma=(double)sum/n; printf("Suma: %d\nMedia aritmetica: %g",sum,ma); }
-
Cerinta: Se preia de la consola numarul termenilor ce urmeaza a fi prelucrati. Se cere sa se scrie un program care sa calculeze suma termenilor si produsul termenilor introdusi.
#include <stdio.h> #include <stdlib.h> int main(void) { int i,n; double x,s,p; printf("Introduceti numarul de termeni: "); if(scanf("%d",&n)!=1||n<0) { printf("Date eronate"); exit(1); } s=0; p=1.0f; for(i=1;i<=n;i++) { printf("x%d= ",i); if(scanf("%lf",&x)!=1) { printf("Date eronate"); exit(1); } s+=x; p*=x; } printf("Suma: %g\t\tProdus: %g",s,p); return 0; }
-
Cerinta: Pentru un numar a real si un p intreg preluate de la consola sa se calculeze a la puterea p prin inmultiri repetate.
#include <stdio.h> #include <stdlib.h> int main(void) { int p,cp; double a,nr; printf("Sa se introduca o valoare reala a la puterea p intreg:\n"); if(scanf("%lf%d",&a,&p)!=2) { printf("Date eronate"); exit(1); } if(a==0 && p<0) printf("Calcul imposibil"); else nr=1; cp=abs(p); for(int i=1;i<=cp;i++) { nr*=a; } printf("\n%g^%d= %g",a,p,p>=0?nr:1/nr); return 0; }
-
Cerinta: Sa se calculeze pentru o valoare n preluata de la consola, suma si produsul primelor n numere naturale folosind instructiunea FOR.
#include <stdio.h> #include <stdlib.h> int main(void) { int n,s,i; float p; printf("Introduceti o valoare n: "); if(scanf("%d",&n)!=1) { printf("Date eronate"); exit(1); } s=0; p=1.0f; for(i=1;i<=n;i++) { s+=i; p*=i; } printf("Suma: %d\t\tProdus: %g",s,p); }
-
Cerinta: Sa se scrie un program care, preluand un numar intreg [1-10] de la consola, afiseaza transcrierea sa in notatie romana (cifre romane) .
#include <stdio.h> #include <stdlib.h> int main(void) { int cifra; printf("Introduceti un numar intreg cuprins in intervalul [1-10] pentru a afisa notatia acestuia in cifre romane: "); if(scanf("%d",&cifra)!=1||cifra<=0||cifra>10) { printf("Nu ati introdus o cifra cuprinsa in intervalul 1-10."); exit(1); } if(cifra==1) printf("%d -> I",cifra); if(cifra==2) printf("%d -> II",cifra); if(cifra==3) printf("%d -> III",cifra); if(cifra==4) printf("%d -> IV",cifra); if(cifra==5) printf("%d -> V",cifra); if(cifra==6) printf("%d -> VI",cifra); if(cifra==7) printf("%d -> VII",cifra); if(cifra==8) printf("%d -> VIII",cifra); if(cifra==9) printf("%d -> IX",cifra); if(cifra==10) printf("%d -> X",cifra); }
-
Stiind ca dezvoltarea in serie ce poate aproxima numarul PI este:
PI=4*(1-1/3+1/5-1/7+...),
Cerinta: sa se calculeze valoarea aproximativa a lui PI cu o eroare mai mica decat epsilon preluat de la consola.
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> int main(){ float eps, pi, t; int k; printf("Introduceti valoarea lui eps: "); if(scanf("%f",&eps)!=1) { printf("Date eronate"); exit(1); } t = 1; pi = 1; k = 1; while(fabs(t) > eps){ if (k % 2) // daca k este par, semn negativ t = - 1.0 / (2*k + 1); // punem 1.0 pentru ca toate sunt int si altfel o sa dea rezultat intreg else // altfel, daca k este impar, semn pozitiv t = 1.0 / (2*k + 1); pi += t; // bagam t in suma k++; // incrementam k } pi *= 4; // formula e 4 * <ce am calculat deja> printf("calculat:\tpi = %g\n", pi); printf("math.h: \tpi = %g", M_PI); // M_PI se numeste constanta pi din math.h getch(); return 0; }
AlinB reacted to this -
Cerinta: Pentru un numar intreg n preluat de la consola sa se calculeze suma cifrelor sale. Programul interogheaza repetat operatorul asupra continuarii executiei, aceasta incheindu-se atunci cand la intrebarea "Doriti sa continuati?" operatorul raspunde tastand n sau N.
#include <stdio.h> #include <stdlib.h> int main(void) { int cifra,n,s; char ch; do { printf("Introduceti numarul: "); if(scanf("%d",&n)!=1||n<0) { printf("Date eronate"); exit(1); } s=0; do { cifra=n%10; s+=cifra; n=n/10; } while(n); printf("Suma este: %d",s); fflush(stdin); printf("\nDoriti sa continuati?(n/d)"); scanf("%c",&ch); } while(ch!='n'&&ch!='N'); return 0; }
-
Cerinta: Pentru un numar intreg n preluat de la consola sa se calculeze suma cifrelor sale.
#include <stdio.h> #include <stdlib.h> int main(void) { int nr,s=0; printf("Introduceti numarul intreg: "); if(scanf("%d",&nr)!=1||nr<0) { printf("Date eronate"); exit(1); } while(nr!=0) { s+=nr%10; nr=nr/10; } printf("Suma cifrelor numarului este: %d.",s); return 0; }
-
Cerinta: Sa se calculeze pentru o valoare intreaga n preluata de la consola, suma si produsul n numere naturale:
a) folosind instructiunea WHILE;
b) folosind instructiunea DO WHILE;
Instructiunea WHILE:
#include <stdio.h> #include <stdlib.h> int main(void) { int n,s,i; float p; printf("Introduceti o valoare intreaga n pentru a se calcula suma si produsul a primelor n termeni:\nn= "); if(scanf("%d",&n)!=1) { printf("Date eronate"); exit(1); } i=1; p=1.0f; s=0; while(i<=n) { p=p*i; s=s+i; i++; } printf("Suma primelor n termeni este: %d\nProdusul primelor n termeni este: %g",s,p); return 0; }
Instructiunea DO WHILE:
#include <stdio.h> #include <stdlib.h> int main(void) { int n,s,i; double p; printf("Introduceti o valoare intreaga n pentru a se calcula suma si produsul a primelor n termeni:\nn= "); if(scanf("%d",&n)!=1) { printf("Date eronate"); exit(1); } i=1; p=1.0f; s=0; do { p=p*i; s=s+i; i++; } while(i<=n); printf("Suma primelor n termeni este: %d\nProdusul primelor n termeni este: %g",s,p); return 0; }
-
Cerinta: Sa se scrie un program C pentru rezolvarea ecuatiei de gradul 2.
#include <stdio.h> #include <math.h> #include <stdlib.h> int main(void) { int a,b,c,delta,x1,x2,x; float cpx1,cpx2; printf("Introduceti 3 numere intregi de la tastatura:\n"); if(scanf("%d%d%d",&a,&b,&c)!=3) { printf("Date incorecte"); exit(1); } if(a!=0) { delta=pow(b,2)-4*a*c; printf("Ecuatie de gradul 2.\nDelta: b^2-4*a*c: %d\n",delta); if(delta>0) { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf("Delta > 0. Avem 2 solutii reale: x1= %d si x2= %d.",x1,x2); } else if(delta==0) { x=-b/(2*a); printf("Delta = 0. Avem 2 radacini egale: x1=x2= %d",x); } else { cpx1=-b/(2*a); cpx2=(sqrt(-delta))/(2*a); printf("Delta < 0. Ecuatia are radacini complexe. O parte reala si una imaginara.\nx1= %.3f si x2= %.3f",cpx1,cpx2); } } else if(b!=0) { x=-c/b; printf("Ecuatie de gradul 1. X= %d",x); } else if(c!=0) printf("Ecuatie imposibila"); else printf("Ecuatie nedeterminata"); return 0; }
Sau:
#include <stdio.h> #include <math.h> int main(void) { int a,b,c,delta,x1,x2,x; float cpx1,cpx2; printf("Introduceti 3 numere intregi de la tastatura:\na= "); scanf("%d",&a); printf("b= "); scanf("%d",&b); printf("c= "); scanf("%d",&c); if(a!=0) { delta=pow(b,2)-4*a*c; printf("Ecuatie de gradul 2.\nDelta: b^2-4*a*c: %d\n",delta); if(delta>0) { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf("Delta > 0. Avem 2 solutii reale: x1= %d si x2= %d.",x1,x2); } else if(delta==0) { x=-b/(2*a); printf("Delta = 0. Avem 2 radacini egale: x1=x2= %d",x); } else { cpx1=-b/(2*a); cpx2=(sqrt(-delta))/(2*a); printf("Delta < 0. Ecuatia are radacini complexe. O parte reala si una imaginara.\nx1= %.3f si x2= %.3f",cpx1,cpx2); } } else if(b!=0) { x=-c/b; printf("Ecuatie de gradul 1. X= %d",x); } else if(c!=0) printf("Ecuatie imposibila"); else printf("Ecuatie nedeterminata"); return 0; }
AlinB reacted to this
[C] Triunghi de numere pentru un N definit
in C / C++ / C#
Posted · Report reply
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:
Demo(pentru N=10):