Pagini recente » Cod sursa (job #505129) | Cod sursa (job #2435505) | Cod sursa (job #236094) | Cod sursa (job #674034) | Cod sursa (job #419674)
Cod sursa(job #419674)
// stramosi.cpp : Defines the entry point for the console application.
//
//#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
typedef int (*compfn)(const void*, const void*); //pointer catre functie de comparare
struct stramos {
int number,indice;
};
struct stramos vect[25000] ;
int compare(struct stramos *, struct stramos *);
int main()
{
int n,m,i,j,c,cc,par;
FILE *f=fopen("stramosi.in","r");
FILE *g=fopen("stramosi.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=0; i<n; i++) {
fscanf(f,"%d",&vect[i].number);
vect[i].indice=i+1;
}
//qsort pt structura
qsort((void *) &vect, // Beginning address of array
n, // Number of elements in array
sizeof(struct stramos), // Size of each element
(compfn)compare ); // Pointer to compare function
///
for(i=0; i<m; i++) {
fscanf(f,"%d %d",&c,&cc);
par=n;
while(cc--) {
for(j=0; j<par && vect[j].indice!=c; j++);
par=c;
c=vect[j].number;
}
fprintf(g,"%d\n",c);
}
fclose(f);
fclose(g);
return 0;
}
int compare(struct stramos *elem1, struct stramos *elem2)
{
if ( elem1->number < elem2->number)
return -1;
else if (elem1->number > elem2->number)
return 1;
else
return 0;
}