Pagini recente » Cod sursa (job #2381674) | Cod sursa (job #3042196) | Cod sursa (job #2000257) | Borderou de evaluare (job #608889) | Cod sursa (job #266689)
Cod sursa(job #266689)
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <set>
#include <vector>
#define FIN "algsort.in"
#define FOUT "algsort.out"
#define FOK "algsort.ok"
using namespace std;
int N;
double gamma = (( 1ll << 31 ) - 1) / 500000.0;
void result(char msg[], int p) {
fprintf( stderr, msg );
fprintf( stdout, "%d", p );
exit( 0 );
}
int main() {
int i, x, y, Mx;
char msg[256];
FILE *f, *g;
f = fopen( FOK, "r" );
if( !f )
result( "Fisier de intrare lipsa!", 0 );
if( fscanf( f, "%d", &N ) != 1 )
result( "Fisier de intrare corupt!", 0 );
Mx = (int)(N * gamma) + 1;
f = fopen( FOK, "r" );
g = fopen( FOUT, "r" );
if( !f )
result( "Fisier .ok lipsa!", 0 );
if( !g )
result( "Fisier de iesire lipsa!", 0 );
for( i = 1; i <= N; i++ ) {
if( fscanf( f, "%d", &x ) != 1 )
result( "Fisier .ok corupt!", 0 );
if( fscanf( g, "%9d", &y ) != 1 )
result( "Fisier de iesire corupt!", 0 );
if( y < 0 || y > Mx )
result( "Fisier de iesire corupt!", 0 );
if( x != y )
result( "Raspuns gresit!", 0 );
}
result( "Raspuns corect!", 5 );
return 0;
}