Pagini recente » Cod sursa (job #292143) | Cod sursa (job #909581) | Cod sursa (job #2660155) | Cod sursa (job #479592) | Cod sursa (job #2614787)
#include <stdio.h>
#include <stdlib.h>
void citire(int *v,int n)
{
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
}
int majortiar(int v[],int n) {
int candidat = -1, contor = 0;
for (int i = 0; i < n; i++) {
if (contor== 0)
{
candidat = v[i];
contor = 1;
}
else if (v[i] == candidat)
contor++;
else
contor--;
}
if (candidat < 0)
return candidat;
// Verificam:
int nr = 0;
for (int i = 0; i < n; i++) {
if (v[i] == candidat)
nr++;
}
if (nr > n / 2)
return candidat;
else
return -1;
}
int main()
{
int n;
printf("n=");
scanf("%d",&n);
int v[n];
citire(v,n);
int valoare = majortiar(v,n);
if(valoare==-1)
printf("Nu exista element majoritar");
else printf("Elementul majoritar este %d ",valoare);
}