Cod sursa(job #1830066)

Utilizator gruhtenZinnenberg Gruhten gruhten Data 16 decembrie 2016 02:27:35
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.02 kb

#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;
}