コード例 #1
0
ファイル: morse.c プロジェクト: simbadSid/app5_morse
int main(int argc, char **argv)
{
	int i, j, res = -1;
	char previousWor[N+1];

	word	= argv[1];
	N		= strlen(word);
	tab		= (int **)malloc(sizeof(int*) *N);
	dic		= malloc(sizeof(dictionary));

	for (i=0; i<N; i++)					// Initialize parameters
	{
		tab[i] = (int*)malloc(sizeof(int) * N);
		for (j=0; j<N; j++) tab[i][j] = 0;
	}
	buildDictionary(dic);


	buildTab(dic, previousWor, 0);
//for (i=0; i<N; i++)					// Initialize parameters
//{
//	for (j=0; j<N; j++) printf("Tab[%d][%d] = %d\n", i, j, tab[i][j] );
//}


//	res = compute(0);
	printf("\t The number of different phrases is: %d\n", res);

	freeTab();
	freeDictionary(dic);

	return 0;
}
コード例 #2
0
ファイル: p16.c プロジェクト: angelleecash/projecteuler
int main(int argc, char** args)
{
  buildDictionary();
  buildPrefix();
  
  int value = atoi(args[1]);
  translate(value);
  printf("%d translted into %s, length %d.\n", value, cache, countLettersInWord(cache));
  
  value = atoi(args[2]);
  translate(value);
  printf("%d translted into %s, length %d.\n", value, cache, countLettersInWord(cache));

  int count = 0;
  int i=1;
  for(; i <= 1000; i++)
  {
    translate(i);
    count +=  countLettersInWord(cache);    
  }

  printf("Number of letters %d.\n", count);
  return 0;
}
コード例 #3
0
    unsigned char LLInflateInputStream::read() {
        if (!dictionary) buildDictionary();
		return inflateNextByte();
    }
コード例 #4
0
ファイル: startDictionary.cpp プロジェクト: RimeOCRLIB/OCRLib
string GLogicProcessor::startDictionary(){

	string fileName;
	string srcLine, report,srcString;
	//int fullReport=0;
	string inputLine;
	//struct stat attrib;			// create a file attribute structure
	//int time=0,time1=0;
	//int step=0,i,j;

	int index=0;
	DIR *dir;
	int fileFlag;
	
	while(index<inputData.fileList.size()){
		if( ( dir=opendir(inputData.fileList[index].c_str()))!=NULL){
			if(inputData.data["ocrData"]=="RTFToYagpo"){
			    fileFlag=readDirectoryToArray(inputData.fileList, inputData.fileList[index],"rtf");
			}else{
			    fileFlag=readDirectoryToArray(inputData.fileList, inputData.fileList[index],"txt");
			}
			inputData.fileList.erase(inputData.fileList.begin()+index);
			continue;
		}
		index++;
	}
	
	
    string dictPath="";

	if(inputData.data["ocrData"]=="joinDict"){
		if(!inputData.fileList.size()){
			readDirectoryToArray(inputData.fileList,inputData.data["inputFolder"],"txt");
		}
		cout<<"fileList.size()="<<inputData.fileList.size();
		strVector.resize(0); 
		mainDict.clear();
		
		for(int i=0;i<inputData.fileList.size();i++){
			inputData.data["inputFile"]=inputData.fileList[i];
			cout<<"join "<<i<<" from "<<inputData.fileList.size()<<" "<<inputData.fileList[i]<<endl;
			//strVector.resize(0);
			//readText(strVector,inputData.data["inputFile"]);			
			loadDictLevelFile();
			
			/*cout<<"strVector.size()="<<strVector.size()<<endl;
			 int index=0,step=0; 
			 for(int i = 0; i<strVector.size(); i++) {
			 strVector[i]=str_replace("\r", "", strVector[i]);
			 vector <string> stringItemVector;
			 stringItemVector=explode(":|:", strVector[i]);
			 if(stringItemVector.size()<2)continue;
			 
			 //cout<<"stringItemVector[1]="<<stringItemVector[1]<<" wordCount="<<
			 //mainDict[stringItemVector[1]].wordCount<<" strVector[0]="<<atoi(stringItemVector[0].c_str())<<endl;
			 
			 mainDict[stringItemVector[1]].wordCount+=atoi(stringItemVector[0].c_str());
			 if(step==100000){
			 cout<<index<<" mainDict.size()="<<mainDict.size()<<endl;
			 step=0;
			 }step++;index++;
			 }	
			 */	
			
		}
		inputData.data["inputFile"]=inputData.data["inputFolder"];
		cout<<"start save dictionary"<<endl;
		writeDictionaryTXT( mainDict);
		
	}
	if(inputData.data["ocrData"]=="buildDict"){
		if(!inputData.fileList.size()){
			readDirectoryToArray(inputData.fileList,inputData.data["inputFolder"],"txt");
		}
		cout<<"fileList.size()="<<inputData.fileList.size();
		
		for(int i=0;i<inputData.fileList.size();i++){
			inputData.data["inputFile"]=inputData.fileList[i];
			cout<<"convert "<<i<<" from "<<inputData.fileList.size()<<" "<<inputData.fileList[i]<<endl;
			strVector.resize(0); 
			mainDict.clear();
			readText(strVector,inputData.data["inputFile"]);
			//int step=0;
			cout<<"strVector.size()="<<strVector.size()<<endl;
			buildDictionary(strVector);
		}
		
	}
    
    if(inputData.data["ocrData"]=="TibetanToEngTagger"){
       inputData.data["ocrData"]="TibetanToRusTagger";
       inputData.data["ln"]="eng";
    }
	
	if(inputData.data["ocrData"]=="TibetanToRusTagger"){
        if(!inputData.fileList.size()){
            readDirectoryToArray(inputData.fileList,inputData.data["inputFolder"],"txt");
        }
        for(int i=0;i<inputData.fileList.size();i++){
            inputData.data["inputFile"]=inputData.fileList[i];
            cout<<"convert "<<i<<" from "<<inputData.fileList.size()<<" "<<inputData.fileList[i]<<endl;
            string textData;
            readText(textData,inputData.data["inputFile"]);
            //int step=0;
            mainTextTranslation(textData);
            string maket;
            readText(maket, "/_Image2OCR/edit/OSBL_Dictionary.html");
            maket=str_replace("@@@TEXT@@@", textData, maket);
            string path=inputData.data["inputFile"]+"_out.html";
            writeText(maket,path);
        }        
        return "done translation";
	}

	
	if(inputData.data["ocrData"]=="buildDictFromText"){
		if(!inputData.fileList.size()){
			readDirectoryToArray(inputData.fileList,inputData.data["inputFolder"],"txt");
		}
		cout<<"buildDictFromText  fileList.size()="<<inputData.fileList.size()<<endl;
		
		for(int i=0;i<inputData.fileList.size();i++){
			inputData.data["inputFile"]=inputData.fileList[i];
			cout<<"convert "<<i<<" from "<<inputData.fileList.size()<<" "<<inputData.fileList[i]<<endl;
			strVector.resize(0); 
			readText(strVector,inputData.data["inputFile"]);
			//int step=0;
			cout<<"strVector.size()="<<strVector.size()<<endl;
			//buildWordDictionary(strVector);
            inputData.data["ocrData"]="TibetanUTFToEng";
            buildTranslationDictionary(strVector);
			//cout<<"mainDict.size()="<<mainDict.size()<<endl;
		}
		//cout<<"start save dictionary"<<endl;
		//writeDictionaryTXT( mainDict);
		
	}
    if(inputData.data["ocrData"]=="reloadDict"){
  
    }
    
	if(inputData.data["ocrData"]=="buildHashDict"){
		if(!inputData.fileList.size()){
			readDirectoryToArray(inputData.fileList,inputData.data["inputFolder"],"txt");
		}
		cout<<"buildDictionaryHashIndex  fileList.size()="<<inputData.fileList.size()<<endl;
		
		for(int i=0;i<inputData.fileList.size();i++){
			inputData.data["inputFile"]=inputData.fileList[i];
			cout<<"convert "<<i<<" from "<<inputData.fileList.size()<<" "<<inputData.fileList[i]<<endl;
			strVector.resize(0); 
			readText(strVector,inputData.data["inputFile"]);
			//int step=0;
			cout<<"strVector.size()="<<strVector.size()<<endl;
			//buildDictionaryHashIndexUni(strVector);
			buildDictionaryHashIndex();
			cout<<"mainDict.size()="<<mainDict.size()<<endl;
		}
		cout<<"start save dictionary"<<endl;
		//writeDictionaryTXT( mainDict);
	}

	
	return "";
	
}//////////////////////////////////////////////////////////////////////////