Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
请各位帮忙看看吧,总是Runtime error。#include<iostream> #include<list> using namespace std; int HaabCycle=365; int HollyCycle=260; string HaabName[19]={ "pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax", "zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet" }; string HaabNum[20]={ "0.","1.","2.","3.","4.",".5","6.","7.","8.","9.", "10.","11.","12.","13.","14.","15.","16.","17.","18.","19." }; string HollyName[20]={ "imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac","ahau" }; int HollyNum[13]={ 1,2,3,4,5,6,7,8,9, 10,11,12,13 }; struct Haab { string num; string name; int year; }; struct Tzdkin { int num; string name; int year; }; int findString(string s,string *a ,int len) { int i=0; for(i=0;i<len;i++) { if(!s.compare(a[i])) { break; } } return i; } void convertToHolly(struct Haab t,struct Tzdkin &tmp) { int numIndex=0; int nameIndex=0; numIndex=findString(t.num,HaabNum,sizeof(HaabNum)); nameIndex=findString(t.name,HaabName,sizeof(HaabName)); long absDate = t.year*HaabCycle+nameIndex*20+numIndex+1; int Month=0; int Day=0; tmp.year=absDate/HollyCycle; int spareDate=absDate%HollyCycle; if(0==spareDate) { tmp.year--; } numIndex=spareDate%13; if(numIndex>0) { numIndex=numIndex-1; } else { numIndex=numIndex+13-1; } tmp.num=HollyNum[numIndex]; nameIndex=spareDate%20; if(nameIndex>0) { nameIndex=nameIndex-1; } else { nameIndex=nameIndex+20-1; } tmp.name=HollyName[nameIndex]; } void printHolly(struct Tzdkin &tmp) { cout<<tmp.num<<" "<<tmp.name.c_str()<<" "<<tmp.year<<endl; } int main() { int cc=0; list<struct Haab> m_list; list<struct Tzdkin> destList; list<struct Haab>::iterator it; list<struct Tzdkin>::iterator id; cin>>cc; while((cc--)>0) { struct Haab tmp; char a[10]={0}; cin>>a; tmp.num=a; cin>>a; tmp.name=a; cin>>tmp.year; m_list.push_back(tmp); } for(it=m_list.begin();it!=m_list.end();it++) { struct Tzdkin tmp; convertToHolly((*it),tmp); destList.push_back(tmp); } cout<<destList.size()<<endl; for(id=destList.begin();id!=destList.end();id++) { printHolly(*id); } return 0; }; Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator