Pagini recente » Cod sursa (job #1069196) | Cod sursa (job #2241636) | Profil Mihaela_Dita_FMI_UVT | Cod sursa (job #1562051) | Cod sursa (job #374661)
Cod sursa(job #374661)
#include <stdio.h>
#include <stdlib.h>
#define FIN "secventa.in"
#define FOUT "secventa.out"
int baza(int*,int);
/* Returneaza minimum-ul dintr-un sir secventa */
int baza(int* secv,int dim){
int i,min;
min=secv[0];
for(i=1;i<dim;i++){
if(min>secv[i]){
min=secv[i];
}
}
return (min);
}
/* Main */
int main(){
/* Variabile */
int i,j,jlim,N,K,srbt;
int* sir;
int* tmp;
FILE* f;
/* Secventa raspuns + dimensiunea + baza */
int* sr;
int srdim,srb;
/* Citim date fis intrare */
f=fopen(FIN,"r");
fscanf(f,"%d",&N);
fscanf(f,"%d",&K);
/* Citim sirul din fisier */
sir=(int*)calloc(N,sizeof(int));
for(i=0;i<N;i++){
fscanf(f,"%d",&sir[i]);
}
fclose(f);
/* Algoritm */
sr=sir;
srdim=K;
srb=baza(sr,srdim);
for(i=K;i<N;i++){
tmp=sir;
jlim=N-i+1;
for(j=0;j<jlim;j++){
srbt=baza(tmp,i);
if(srb<srbt){
sr=tmp;
srdim=i;
srb=srbt;
}
tmp++;
}
}
/* Scrie fisier output */
f=fopen(FOUT,"w");
for(i=0;i<srdim;i++){
fprintf(f,"%d ",sr[i]);
}
fclose(f);
return (0);
}