739 sm1 plz help me.. got loads of PE
Posted: Sat Aug 09, 2008 10:01 am
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
//#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
//#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include<queue>
#include<map>
#include<string>
using namespace std;
int main()
{
string str;
for(int i=0;i<10;i++)
cout<<" ";
cout<<"NAME";
for(int i=0;i<21;i++)
cout<<" ";
cout<<"SOUNDEX CODE\n";
while(cin>>str)
{
string ans;
ans+=str[0];
int len=str.length();
map<char,int>m;
m['B']=1;m['P']=1;m['F']=1;m['V']=1;m['C']=2;m['S']=2;m['K']=2;m['G']=2;m['J']=2;m['Q']=2;m['X']=2;m['Z']=2;
m['D']=3;m['T']=3;m['L']=4;m['M']=5;m['N']=5;m['R']=6;
int pos=1;
for(int i=1;i<len;i++)
{
for(map<char,int>::iterator it=m.begin();it!=m.end();it++)
{
if((*it).first==str)
{
bool flag=true;
if((i-1)>=0)
{
for(map<char,int>::iterator ii=m.begin();ii!=m.end();ii++)
{
if(str[i-1]==(*ii).first && (*ii).second==(*it).second)
{ flag=false;break;}
}
}
if(flag==true)
{
ans+=((*it).second+'0'); pos++;
}
}
}
if(pos==4)
break;
}
int l=ans.length();
while(l<4)
{ans+='0';l++;}
for(int i=0;i<10;i++)
cout<<" ";
cout<<str;
int ll=str.length();
for(int i=0;i<25-ll;i++)
cout<<" ";
cout<<ans<<endl;
}
for(int i=0;i<20;i++)
cout<<" ";
cout<<"END OF OUTPUT\n";
//system("pause");
}
plz debug it for presentation error.........
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
//#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
//#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include<queue>
#include<map>
#include<string>
using namespace std;
int main()
{
string str;
for(int i=0;i<10;i++)
cout<<" ";
cout<<"NAME";
for(int i=0;i<21;i++)
cout<<" ";
cout<<"SOUNDEX CODE\n";
while(cin>>str)
{
string ans;
ans+=str[0];
int len=str.length();
map<char,int>m;
m['B']=1;m['P']=1;m['F']=1;m['V']=1;m['C']=2;m['S']=2;m['K']=2;m['G']=2;m['J']=2;m['Q']=2;m['X']=2;m['Z']=2;
m['D']=3;m['T']=3;m['L']=4;m['M']=5;m['N']=5;m['R']=6;
int pos=1;
for(int i=1;i<len;i++)
{
for(map<char,int>::iterator it=m.begin();it!=m.end();it++)
{
if((*it).first==str)
{
bool flag=true;
if((i-1)>=0)
{
for(map<char,int>::iterator ii=m.begin();ii!=m.end();ii++)
{
if(str[i-1]==(*ii).first && (*ii).second==(*it).second)
{ flag=false;break;}
}
}
if(flag==true)
{
ans+=((*it).second+'0'); pos++;
}
}
}
if(pos==4)
break;
}
int l=ans.length();
while(l<4)
{ans+='0';l++;}
for(int i=0;i<10;i++)
cout<<" ";
cout<<str;
int ll=str.length();
for(int i=0;i<25-ll;i++)
cout<<" ";
cout<<ans<<endl;
}
for(int i=0;i<20;i++)
cout<<" ";
cout<<"END OF OUTPUT\n";
//system("pause");
}
plz debug it for presentation error.........