Pagini recente » Cod sursa (job #2894682) | Cod sursa (job #301228) | Cod sursa (job #3270397) | Cod sursa (job #1323030) | Cod sursa (job #460320)
Cod sursa(job #460320)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
vector <int> v;
int n, i, j, k;
float medie;
int nr;
float cauta (float x)
{
int st, dr, mijl;
st = 0;
dr = n - 1;
do
{
mijl = (st + dr) / 2;
if (v[mijl] == x)
return 1;
else if (x < v[mijl])
dr = mijl - 1;
else if (x > v[mijl])
st = mijl + 1;
}
while (st <= dr);
return 0;
}
int main ()
{
FILE *f = fopen ("medie.in","r");
FILE *g = fopen ("medie.out","w");
fscanf (f,"%d", &n);
for (i=1; i<=n; ++i)
{
fscanf (f,"%d", &j);
v.push_back (j);
}
sort (v.begin(), v.end() );
for (i=0; i<n; ++i)
{
for (j=0; j<n; ++j)
if (i != j)
{
medie = (float) (v[i] + v[j]) / 2;
if (cauta(medie))
nr ++;
}
}
fprintf (g,"%d ", nr/2);
fclose(g);
fclose(f);
return 0;
}