Pagini recente » Cod sursa (job #41683) | Cod sursa (job #1685112) | Cod sursa (job #2137659) | Cod sursa (job #1181172) | Cod sursa (job #1829588)
#include <fstream>
using namespace std;
#include <math.h>
int main()
{
int N,a[1000],i,j,k=0,min,max;
int b[1000],v[1000],w[1000];
int ok,aux,dif[995],d_min,ales1,ales6;
ifstream f("loto.in");
ofstream g("loto.out");
f>>N;
for(i=1;i<=N;i++)
f>>a[i];
for(i=1;i<=6;i++)
f>>b[i];
//sortare a
do
{
ok=0;
for(i=1;i<=N-1;i++)
if(a[i]>a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
ok=1;
}
}while(ok);
g<<"bilelel disponibile,sortate:"<<endl;
for(i=1;i<=N;i++)
g<<a[i]<<endl;
//sortare b
do
{
ok=0;
for(i=1;i<=6-1;i++)
if(b[i]>b[i+1])
{
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
ok=1;
}
}while(ok);
g<<endl<<"bile extrase,sortate:"<<endl;
for(i=1;i<=6;i++)
g<<b[i]<<" ";
ok=0;
//cautam toate nr. care sunt in a
//dar nu sunt in b si le punem in w[];
for(i=1;i<=N;i++)
{
ok=1;
for(j=1;j<=6;j++)
if(a[i]==b[j])
{
ok=0;
}
if(ok)
{
k++;
w[k]=a[i];
}
}
g<<endl<<"bile in plus:"<<endl;
for(i=1;i<=k;i++)
g<<w[i]<<" ";
//din bilele in plus inlocuim
//cautam diferentele minime
min=b[1];
d_min=10000;
for(i=1;i<=k;i++) {
dif[i]=abs(w[i]-min);
if(d_min>dif[i])
d_min=dif[i];
}
g<<endl<<"difer. min pt bila 1:";
g<<endl<<d_min;
for(i=1;i<=k;i++)
if(d_min==dif[i])
{
ales1=w[i];
//if(ales1<w[i])
//ales1=w[i];
}
b[1]=ales1;
g<<endl<<"bila 1 inloc.:"<<ales1<<endl;
g<<endl<<"b6:"<<b[6]<<endl;
max=b[6];
d_min=10000;
for(i=1;i<=k;i++)
{
dif[i]=abs(w[i]-max); //ne trebuie valori abs.
g<<dif[i]<<" ";
if(d_min>dif[i])
d_min=dif[i];
}
g<<endl<<"difer. min pt bila 6:";
g<<endl<<d_min;
for(i=1;i<=k;i++)
if(d_min==dif[i])
{
ales6=w[i];
}
b[6]=ales6;
g<<endl<<"bila 6 inloc.:"<<ales6;
//ar fi o chestie sa fie aceeasi bila
//aleasa!! (ales1=ales6)
//sortare b, din nou
do
{
ok=0;
for(i=1;i<=6-1;i++)
if(b[i]>b[i+1])
{
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
ok=1;
}
}while(ok);
g<<endl<<"bilele, in final:"<<endl;
for(i=1;i<=6;i++)
g<<b[i]<<" ";
return 0;
}