Pagini recente » Cod sursa (job #69495) | Cod sursa (job #1767010) | Cod sursa (job #1037894) | Cod sursa (job #2102971) | Cod sursa (job #63873)
Cod sursa(job #63873)
#include <stdio.h>
#include <stdlib.h>
int v[805],n;
int comp(const void *a, const void *b)
{
int *aa=(int*) a, *bb=(int*) b;
int x=*aa, y=*bb;
if (x<y)
return 1;
if (x>y)
return -1;
return 0;
}
int main()
{
int nrtri=0,i,j,k;
FILE *in=fopen("nrtri.in","r");
fscanf(in,"%d",&n);
for (i=0; i<n; i++)
fscanf(in,"%d",&v[i]);
fclose(in);
qsort(v,n,sizeof(v[0]),comp);
for (i=0; i<n-2; i++)
for (j=i+1; j<n-1; j++)
{
k=j+1;
while (v[i]+v[j]>=v[k])
{
if ((v[i]+v[j]>=v[k])&&(v[j]+v[k]>=v[i])&&(v[i]+v[k]>=v[j]))
nrtri++;
k++;
}
}
FILE *out=fopen("nrtri.out","w");
fprintf(out,"%d\n",nrtri);
fclose(out);
return 0;
}