Cod sursa(job #1803195)

Utilizator dragos.boncanBoncan Dragos Eduard Gabriel dragos.boncan Data 11 noiembrie 2016 08:57:17
Problema Loto Scor 0
Compilator c Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.66 kb
#include<stdio.h>
int se[1100],ex[6];
int main () {
    FILE *fin, *fout;
    int i,j,cn,si,sp,m,n,sm,min,max,maxi,mini,smin,smax,imin,imax;
    fin=fopen("loto.in","r");
    fscanf(fin,"%d",&n);
    for(i=0; i<n; i++)
    fscanf(fin,"%d",&se[i]);
    max=maxi=mini=0;
    min=10000;
    for(i=0; i<6; i++) {
        fscanf(fin,"%d",&ex[i]);
        if(ex[i]>max) {
            max=ex[i];
            maxi=i;
        }
        if(ex[i]<min) {
            min=ex[i];
            mini=i;
        }
    }
    fclose(fin);
    for(i=0; i<n; i++) {
        for(j=0; j<6; j++) {
            if(se[i]==ex[j])
              //  printf("\n %d din seif devine 0\n", se[i]);
            se[i]=0;
        }}
    smin=10000; smax=0;
    for(i=0; i<n; i++) {
        if((abs(se[i]-min))<(abs(smin-min)) && se[i]!=min) {
            smin=se[i];
            imin=i;
        }
        if((abs(se[i]-min))==(abs(smin-min)) && se[i]<smin) {
            smin=se[i];
            imin=i;
        }
        if((abs(se[i]-max))<(abs(smax-max)) && se[i]!=max)    {
            smax=se[i];
            imax=i;
        }
        if((abs(se[i]-max))==(abs(smax-max)) && se[i]>smax)    {
            smax=se[i];
            imax=i;
        }
    }
    ex[maxi]=se[imax];
    ex[mini]=se[imin];
    m=0;
    do {
        j=1;
        for(i=0;i<5;i++) {
            if(ex[i]>ex[i+1]) {
                m=ex[i];
                ex[i]=ex[i+1];
                ex[i+1]=m;
                j=0;
            }
        }
    }
    while(!j);
    fout=fopen("loto.out","w");
    for(i=0; i<6; i++)
    fprintf(fout,"%d ",ex[i]);
    fclose(fout);
    return 0;
}