Advertisement
J00ker

Untitled

Feb 16th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <climits>
  4.  
  5. using namespace std;
  6.  
  7. struct Interval
  8. {
  9. int a, b;
  10. };
  11.  
  12. int n;
  13. Interval in[1000];
  14.  
  15. void Citire()
  16. {
  17. ifstream fin("interv.in");
  18. fin >> n;
  19. for(int i = 0; i < n; i++)
  20. fin >> in[i].a >> in[i].b;
  21. fin.close();
  22. }
  23.  
  24. ofstream fout("interv.out");
  25. void Afisare()
  26. {
  27. for(int i = 0; i < n; i++)
  28. fout << "\t" << in[i].a << " " << in[i].b << "\n";
  29. }
  30.  
  31. //a)
  32. void LungMax()
  33. {
  34. int mx = INT_MIN, lung;
  35. for(int i = 0; i < n; i++)
  36. {
  37. lung = in[i].b - in[i].a;
  38. if(lung > mx) mx = lung;
  39. }
  40. fout << "a)Lungimea maxima a unui interval: " << mx;
  41. }
  42.  
  43. //b
  44. void Intersec()
  45. {
  46. fout << "\n\nb)Intervalele care se intersecteaza cu intervalul [-5, 5]: \n";
  47. for(int i = 0; i < n; i++)
  48. if(((in[i].a >= -5)&&(in[i].a <= 5)) ||
  49. (in[i].b >= -5)&&(in[i].b <= 5))
  50. fout << "\t" << in[i].a << " " << in[i].b << "\n";
  51. }
  52.  
  53. //c)
  54. void Intersch(int x, int y)
  55. {
  56. Interval aux;
  57. aux = in[x];
  58. in[x] = in[y];
  59. in[y] = aux;
  60. }
  61.  
  62. void Ord()
  63. {
  64. for(int i = 0; i < n-1; i++)
  65. for(int j = i+1; j < n; j++)
  66. if(in[i].b > in[j].b) Intersch(i, j);
  67. fout << "\nc)Intervalele ordonate crescator dupa capatul dreapt :\n";
  68. Afisare();
  69. }
  70.  
  71. //d)
  72. int axa_neg[1000], axa_poz[1000];
  73. void Submult()
  74. {
  75. for(int i = 0; i < n; i++)
  76. {
  77. for(int a = in[i].a; a <= in[i].b; i++)
  78. {
  79. if(a < 0) axa_neg[a * -1]++;
  80. else axa_poz[a]++;
  81. }
  82. }
  83. }
  84.  
  85. int main()
  86. {
  87. Citire();
  88. LungMax();
  89. Intersec();
  90. Ord();
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement