Pagini recente » Cod sursa (job #407757) | Cod sursa (job #273239) | Cod sursa (job #2146984) | Cod sursa (job #2150390) | Cod sursa (job #717424)
Cod sursa(job #717424)
# include <fstream>
# include <iostream>
using namespace std;
void CitireFisier(long sir[], unsigned long &n, unsigned long &k)
{
ifstream fin("secventa.in");
fin >>n;
fin >>k;
unsigned long i;
for (i=0;i<n;i++)
fin >> sir[i];
fin.close();
}
void ScriereFisier(unsigned long a, unsigned long b, long minim)
{
ofstream fout("secventa.out");
fout << a <<" " <<b <<" " <<minim;
fout.close();
}
void PrelucrareSir(long sir[], unsigned long n, unsigned long k, unsigned long &minpoz, long &minsec)
{
long minim;
unsigned long i=0,j,poz;
minsec = sir[0];
minpoz = 0;
for(i=1;i<k;i++)
{
if (sir[i]< minsec)
{
minsec = sir[i];
minpoz = i;
}
}
i = minpoz + 1;
while (i < n-k+1)
{
minim = sir[i];
poz = i;
for(j= i+1; j < k + i; j++)
{
if (sir[j]< minim)
{
minim = sir[j];
poz = j;
}
}
if (minim > minsec)
{
minsec = minim;
minpoz = poz;
}
i = poz+1;
}
}
int main()
{
long sir[50000];
unsigned long n, k, minpoz=0;
long minsec=0;
CitireFisier(sir,n,k);
PrelucrareSir(sir,n,k,minpoz,minsec);
ScriereFisier(minpoz+1, minpoz+k, minsec);
return 0;
}