Advertisement
J00ker

t

Sep 23rd, 2014
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int a[10000], n;
  7.  
  8. //1)Citirea vect.
  9. void Citire(int a[], int &n)
  10. {
  11. ifstream fin("sir.in");
  12. fin >> n;
  13. for(int i = 0; i < n; i++)
  14. fin >> a[i];
  15. fin.close();
  16. }
  17.  
  18. //2)Valoarea minima
  19. int Minim(int a[],int n)
  20. {
  21. int poz = 0;
  22. for(int i = 1; i < n; i++)
  23. if(a[poz] > a[i])
  24. poz = i;
  25. return poz;
  26. }
  27.  
  28. //3)Aparitii x
  29. int Aparitii(int a[],int n,int x)
  30. {
  31. int nr = 0;
  32. for(int i = 0; i < n; i++)
  33. if(a[i] == x)
  34. nr++;
  35. return nr;
  36. }
  37.  
  38. //4)Aparitiile minimului
  39. void AparitiiMin(int a[], int n)
  40. {
  41. int x = a[Minim(a, n)];
  42. for(int i = 0; i < n; i++)
  43. if(a[i] == x)
  44. cout << i << " ";
  45. }
  46.  
  47. //8)x, y - param. transmisi prin referinta
  48. void Sch(int &x, int &y)
  49. {
  50. int aux;
  51. aux = x;
  52. x = y;
  53. y = aux;
  54. }
  55.  
  56. //5)Ordonarea tabelului
  57. void Ordonare(int a[], int n)
  58. {
  59. for(int i = 0; i < n-1; i++)
  60. for(int j = i+1; j < n; j++)
  61. if(a[i] > a[j])
  62. Sch(a[i], a[j]);
  63. }
  64.  
  65. //6)Ordine crescatoare sau nu
  66. int Ordine(int a[], int n)
  67. {
  68. for(int i = 0;i < n-1; i++)
  69. if(a[i] > a[i+1])
  70. return 0;
  71. return 1;
  72. }
  73.  
  74. //7)Afisarea vect.
  75. void Afisare(int a[], int n)
  76. {
  77. for(int i = 0; i < n; i++)
  78. cout << a[i] << " ";
  79. cout << "\n\n";
  80. }
  81.  
  82. //9)returneaza pozitia unde s-a
  83. //gasit x in tabloula sau -1
  84. //daca x nu apare in tablou
  85. int Cauta(const int a[], const int n, const int x)
  86. {
  87. int st, dr, m;
  88. st = 0; dr = n-1;
  89. while(st <= dr)
  90. {
  91. m = (st + dr) / 2;
  92. if(a[m] == x) return m;
  93. if (a[m] < x) dr = m-1;
  94. else st = m;
  95.  
  96. }
  97. return -1;
  98. }
  99.  
  100. int main()
  101. {
  102. Citire(a, n);/*
  103. cout << "Afisare: ";
  104. Afisare(a, n);
  105.  
  106. cout << "Pozitia valorii minime: " << Minim(a, n) << "\n\n";
  107.  
  108. int x;cin >> x;
  109. cout << "Numarul de aparitii a lui " << x << ": " << Aparitii(a, n, x) << "\n\n";
  110.  
  111.  
  112. cout << "Pozitiile in care apare valoarea minima: ";
  113. AparitiiMin(a, n);
  114. cout << "\n\n";
  115.  
  116. if(Ordine(a, n) == 1)
  117. cout << "Tabelul este ordonat crescator.\n\n";
  118. else cout << "Tabelul nu este ordonat crescator.\n\n";
  119.  
  120. cout << "Tabelul afisat crescator: ";
  121. Ordonare(a, n);
  122. Afisare(a, n);
  123.  
  124. if(Ordine(a, n) == 1)
  125. cout << "Tabelul este ordonat crescator.\n\n";
  126. else cout << "Tabelul nu este ordonat crescator.\n\n";
  127.  
  128. int p, q;
  129. p = 1; q = 3;
  130. Sch(p, q);
  131. cout << p << " " << q;*/
  132.  
  133. int poz;
  134. poz = Cauta(a, n, 3);
  135. if(poz != -1)
  136. cout << "Gasit la pozitia " << poz;
  137. else cout << "Nu s-a gasit.";
  138. return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement