Pagini recente » Cod sursa (job #1642666) | Cod sursa (job #1294082) | Cod sursa (job #747945) | Cod sursa (job #2484020) | Cod sursa (job #1525084)
#include <stdio.h>
#include <stdlib.h>
FILE *f,*g;
void quick_sort (int *a, int n) {
int i, j, p, t;
if (n < 2)
return;
p = a[n / 2];
for (i = 0, j = n - 1;; i++, j--) {
while (a[i] < p)
i++;
while (p < a[j])
j--;
if (i >= j)
break;
t = a[i];
a[i] = a[j];
a[j] = t;
}
quick_sort(a, i);
quick_sort(a + i, n - i);
}
int main()
{
int a[900],i,j,n,nr=0,s=0,k=0,z=0;
f=fopen("nrtri.in","r");
g=fopen("nrtri.out","w+");
fscanf(f,"%d",&n);
for(i=0;i<n;i++)
fscanf(f,"%d",&a[i]);
// for(i=0;i<n;i++)
// printf("%d ",a[i]);
quick_sort(a,n);
// printf("\n");
// for(i=0;i<n;i+fclose(f);+
// printf("%d ",a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
s=a[i]+a[j];
//if(!z) k=j+1;
// else k=z+1;
k=j+1;
while(k<n){
if (s>=a[k]) nr++;
else break;
k++;
}
}
fprintf(g,"%d",nr);
fclose(f);
fclose(g);
return 0;
}