Pagini recente » Cod sursa (job #169787) | Cod sursa (job #2923355) | Cod sursa (job #2864941) | Cod sursa (job #3354903) | Cod sursa (job #543502)
Cod sursa(job #543502)
#include<stdio.h>
int v[800],n,i,j,k,q;
FILE *in,*out;
void quick(int v[],int left,int right)
{
int i=left,j=right,p=v[(left+right)/2],man;
while(i<=j)
{
while(v[i]>p)i++;
while(v[j]<p)j--;
if(i<=j){man=v[i];v[i]=v[j];v[j]=man;i++;j--;}
}
if(left<j)quick(v,left,j);
if(i<right)quick(v,i,right);
}
int main()
{
in=fopen("nrtri.in","r");
fscanf(in,"%d",&n);
for(i=0;i<n;i++)fscanf(in,"%d",&v[i]);
fclose(in);
quick(v,0,n-1);
for(i=0;i<n-2;i++)
for(j=i+1;j<n-1;j++)
for(k=j+1;k<n&&v[k]>=v[i]-v[j]&&v[k]<=v[i]+v[j];k++) q++;
out=fopen("nrtri.out","w");
fprintf(out,"%d",q);
fclose(out);
}