Pagini recente » Cod sursa (job #2688822) | Cod sursa (job #809676) | Cod sursa (job #1814309) | Cod sursa (job #740256) | Cod sursa (job #1391136)
#include <iostream>
#include <fstream>
int* elemen_majoritar (int* v, int n) {
int num = v[0], contor = 1, c = 0;
int* a = new int[2];
for (int i = 1; i < n; ++i) {
if (v[i] == num) {
++contor;
} else {
--contor;
}
if (contor <= 0) {
num = v[i];
contor = 1;
}
}
std::cout << n << " dimensiune\n";
for (int i = 0; i < n; ++i) {
if (v[i] == num) {
++c;
std::cout << i << ": " << v[i] << "\n";
}
}
std::cout << c << " contor pzis\n";
std::cout << num << " numarul\n";
if (c >= n / 2) {
a[0] = num;
a[1] = c;
}
std::cout << a[1] << " funct\n";
return a;
}
int main() {
std::ifstream in;
std::ofstream out;
int n;
int *sol = new int[2];
in.open ("elmaj.in");
out.open ("elmaj.out");
in >> n;
int *v = new int[n];
for (int i = 0; i < n; ++i) {
in >> v[i];
std::cout << v[i] << " ";
}
std::cout << "\n";
sol = elemen_majoritar (v, n);
delete[] v;
std::cout << sol[1] << " main\n";
if (sol[0] != -1)
out << sol[0] << " " << sol[1];
else
out << -1;
in.close();
out.close();
return 0;
}