Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. /*
  2. Coordonatele stanga sus si dreapta jos a n dreptunghiuri.
  3. a)Sa se calculeze perimetrul si aria dreptunghiurilor.
  4. b)Sa se tipareasca care dintre acestea sunt patrate.
  5. c)Sa se tipareasca care dintre acestea au aria maxima.
  6. d)Sa se ordoneze dreptunghiurile crescator dupa perimetru.
  7.  
  8. 3)Se dau de la tastatura coordonatele a trei puncte.
  9. a)Sa se verifice daca acestea sunt coliniare.
  10. b) Se dau coordonatele a n puncte. Sa se verifice daca sunt coliniare.
  11.  
  12. 4)Managerul artistic al unui festival trebuie sa selecteze
  13. o multime cat mai ampla de spectacole ce pot fi jucate
  14. in singura sala pe care o are la dispozitie.
  15. Stiind ca s-au propus n<=100 spectacole si pentru fiecare spectacol
  16. i-a fost enuntat intervalul in care se poate desfasura (s[i] si f[i]).
  17. S[i]-reprezinta ora si minutul de inceput, iar f[i] ora si minutul de final
  18. al spectacolului i.
  19. Scrieti un program care sa permita spectatorilor vizionarea
  20. a cat mai multe spectacole.
  21.  
  22. Exemplu
  23. n=5
  24. 12 30 16 30
  25. 15 00 18 00
  26. 10 00 18 30
  27. 18 00 20 45
  28. 12 15 13 00
  29.  
  30. 5, 2, 4
  31. */
  32.  
  33.  
  34. #include <stdio.h>
  35. #include <stdlib.h>
  36.  
  37. typedef struct fract
  38. {
  39. float numit, numarat;
  40. }fract;
  41.  
  42. void Citeste(int *l, fract x[100]);
  43. int Cmmdc(int a, int b);
  44. void Simplifica(int l, fract x[100]);
  45. void Afiseaza(int l, fract x[100]);
  46. void Ordoneaza(int l, fract x[100]);
  47.  
  48. int main()
  49. {
  50. int n;
  51. fract a[100];
  52.  
  53. Citeste(&n, a);
  54. printf("Fractiile citite sunt:\n");
  55. Afiseaza(n, a);
  56.  
  57.  
  58. Simplifica(n, a);
  59. printf("\nFractiile simplificate sunt:\n");
  60. Afiseaza(n, a);
  61.  
  62.  
  63. Ordoneaza(n, a);
  64. printf("\nFractiile ordonate crescator sunt:\n");
  65. Afiseaza(n, a);
  66.  
  67. return 0;
  68. }
  69.  
  70. void Citeste(int *l, fract x[100])
  71. {
  72. int i; FILE *in;
  73. in=fopen("file.txt", "r");
  74. fscanf(in, "%i", l);
  75. for(i=0; i<*l; i++)
  76. fscanf(in, "%f %f", &x[i].numarat, &x[i].numit);
  77.  
  78. fclose(in);
  79. }
  80.  
  81. int Cmmdc(int a, int b)
  82. {
  83. while(a!=b)
  84. if(a>b)
  85. a-=b;
  86. else
  87. b-=a;
  88. return a;
  89. }
  90.  
  91. void Simplifica(int l, fract x[100])
  92. {
  93. int i, cmmdc;
  94. for(i=0; i<l; i++)
  95. {
  96. cmmdc=Cmmdc(x[i].numarat, x[i].numit);
  97. x[i].numarat=x[i].numarat/cmmdc;
  98. x[i].numit=x[i].numit/cmmdc;
  99. }
  100. }
  101.  
  102. void Ordoneaza(int l, fract x[100])
  103. {
  104. int i, j, aux1, aux2;
  105. for(i=0; i<l-1; i++)
  106. for(j=i+1; j<l; j++)
  107. if( x[i].numarat/x[i].numit > x[j].numarat/x[j].numit)
  108. {
  109. aux1=x[i].numarat;
  110. aux2=x[i].numit;
  111.  
  112. x[i].numarat=x[j].numarat;
  113. x[i].numit=x[j].numit;
  114.  
  115. x[j].numarat=aux1;
  116. x[j].numit=aux2;
  117. }
  118. }
  119.  
  120. void Afiseaza(int l, fract x[100])
  121. {
  122. int i;
  123. printf("%i\n", l);
  124. for(i=0; i<l; i++)
  125. printf("%f %f\n", x[i].numarat, x[i].numit);
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement