Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Coordonatele stanga sus si dreapta jos a n dreptunghiuri.
- a)Sa se calculeze perimetrul si aria dreptunghiurilor.
- b)Sa se tipareasca care dintre acestea sunt patrate.
- c)Sa se tipareasca care dintre acestea au aria maxima.
- d)Sa se ordoneze dreptunghiurile crescator dupa perimetru.
- 3)Se dau de la tastatura coordonatele a trei puncte.
- a)Sa se verifice daca acestea sunt coliniare.
- b) Se dau coordonatele a n puncte. Sa se verifice daca sunt coliniare.
- 4)Managerul artistic al unui festival trebuie sa selecteze
- o multime cat mai ampla de spectacole ce pot fi jucate
- in singura sala pe care o are la dispozitie.
- Stiind ca s-au propus n<=100 spectacole si pentru fiecare spectacol
- i-a fost enuntat intervalul in care se poate desfasura (s[i] si f[i]).
- S[i]-reprezinta ora si minutul de inceput, iar f[i] ora si minutul de final
- al spectacolului i.
- Scrieti un program care sa permita spectatorilor vizionarea
- a cat mai multe spectacole.
- Exemplu
- n=5
- 12 30 16 30
- 15 00 18 00
- 10 00 18 30
- 18 00 20 45
- 12 15 13 00
- 5, 2, 4
- */
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct fract
- {
- float numit, numarat;
- }fract;
- void Citeste(int *l, fract x[100]);
- int Cmmdc(int a, int b);
- void Simplifica(int l, fract x[100]);
- void Afiseaza(int l, fract x[100]);
- void Ordoneaza(int l, fract x[100]);
- int main()
- {
- int n;
- fract a[100];
- Citeste(&n, a);
- printf("Fractiile citite sunt:\n");
- Afiseaza(n, a);
- Simplifica(n, a);
- printf("\nFractiile simplificate sunt:\n");
- Afiseaza(n, a);
- Ordoneaza(n, a);
- printf("\nFractiile ordonate crescator sunt:\n");
- Afiseaza(n, a);
- return 0;
- }
- void Citeste(int *l, fract x[100])
- {
- int i; FILE *in;
- in=fopen("file.txt", "r");
- fscanf(in, "%i", l);
- for(i=0; i<*l; i++)
- fscanf(in, "%f %f", &x[i].numarat, &x[i].numit);
- fclose(in);
- }
- int Cmmdc(int a, int b)
- {
- while(a!=b)
- if(a>b)
- a-=b;
- else
- b-=a;
- return a;
- }
- void Simplifica(int l, fract x[100])
- {
- int i, cmmdc;
- for(i=0; i<l; i++)
- {
- cmmdc=Cmmdc(x[i].numarat, x[i].numit);
- x[i].numarat=x[i].numarat/cmmdc;
- x[i].numit=x[i].numit/cmmdc;
- }
- }
- void Ordoneaza(int l, fract x[100])
- {
- int i, j, aux1, aux2;
- for(i=0; i<l-1; i++)
- for(j=i+1; j<l; j++)
- if( x[i].numarat/x[i].numit > x[j].numarat/x[j].numit)
- {
- aux1=x[i].numarat;
- aux2=x[i].numit;
- x[i].numarat=x[j].numarat;
- x[i].numit=x[j].numit;
- x[j].numarat=aux1;
- x[j].numit=aux2;
- }
- }
- void Afiseaza(int l, fract x[100])
- {
- int i;
- printf("%i\n", l);
- for(i=0; i<l; i++)
- printf("%f %f\n", x[i].numarat, x[i].numit);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement