Cod sursa(job #791967)

Utilizator petiVass Peter peti Data 25 septembrie 2012 22:17:19
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <fstream>
#include <cstring>
#include <iostream>
using namespace std;

ifstream ifs("cifra.in");
ofstream ofs("cifra.out");

int main(int argc,char **argv){
	
	int period[]={0,1,5,2,8,3,9,2,8,7,
				  7,8,4,7,3,8,4,1,5,4,
				  4,5,9,6,2,7,3,6,2,1,
				  1,2,8,1,7,2,8,5,9,8,
				  8,9,3,0,6,1,7,0,6,5,
				  5,6,2,5,1,6,2,9,3,2,
				  2,3,7,4,0,5,1,4,0,9,
				  9,0,6,9,5,0,6,3,7,6,
				  6,7,1,8,4,9,5,8,4,3,
				  3,4,0,3,9,4,0,7,1,0}; 
	char c=0;
	int T;
	ifs>>T;
	ifs.get();
	while(T--){
		int l=0;
		
		while(c!='\n' && !ifs.eof()){
			ifs.get(c);
			if(c!='\n' && !ifs.eof())
				l++;
		}
		if(l>=2){
			if(ifs.eof()){
				ifs.clear();
				ifs.unget();
				ifs.unget();
			}
			else{
				ifs.unget();
				ifs.unget();
				ifs.unget();
			}
			ofs<<period[ifs.get()+ifs.get()*10-528]<<endl;
			ifs.get();
			if(!ifs.eof()){
				ifs.get(c);
				l++;
			}
		}
		else
			if(ifs.eof()){
				ifs.clear();
				ifs.unget();
			}
			else{
				ifs.unget();
				ifs.unget();
			}
			ofs<<period[ifs.get()-48]<<endl;
			ifs.get();
			if(!ifs.eof()){
				ifs.get(c);
				l++;
			}
	}
	//delete[] s;
	ofs.close();
	return 0;
}