#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream input;
input.open("corncob_caps.txt");
string word;
string getWord;
char letters[]={ 'A', 'B', 'C','D', 'E', 'F', 'G', 'H', 'I', 'J', 'K' , 'L' ,'M' ,'N' ,'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
int accum1[]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
bool is_subset=1;
int counter=0;
cin >> word;
int length1=word.size();
for (int i=0; i< length1; i++)
{
char letter= word[i];
switch(letter)
{
case 'A':
accum1[0]+=1;
break;
case 'B':
accum1[1]+=1;
break;
case 'C':
accum1[2]+=1;
break;
case 'D':
accum1[3]+=1;
break;
case 'E':
accum1[4]+=1;
break;
case 'F':
accum1[5]+=1;
break;
case 'G':
accum1[6]+=1;
break;
case 'H':
accum1[7]+=1;
break;
case 'I':
accum1[8]+=1;
break;
case 'J':
accum1[9]+=1;
break;
case 'K':
accum1[10]+=1;
break;
case 'L':
accum1[11]+=1;
break;
case 'M':
accum1[12]+=1;
break;
case 'N':
accum1[13]+=1;
break;
case 'O':
accum1[14]+=1;
break;
case 'P':
accum1[15]+=1;
break;
case 'Q':
accum1[16]+=1;
break;
case 'R':
accum1[17]+=1;
break;
case 'S':
accum1[18]+=1;
break;
case 'T':
accum1[19]+=1;
break;
case 'U':
accum1[20]+=1;
break;
case 'V':
accum1[21]+=1;
break;
case 'W':
accum1[22]+=1;
break;
case 'X':
accum1[23]+=1;
break;
case 'Y':
accum1[24]+=1;
break;
default:
accum1[25]+=1;
}
}
do
{
getline(input, getWord);
int accum2[]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
int length2=getWord.size();
for (int i=0; i< length2; i++)
{
char letter= getWord[i];
switch(letter)
{
case 'A':
accum2[0]+=1;
break;
case 'B':
accum2[1]+=1;
break;
case 'C':
accum2[2]+=1;
break;
case 'D':
accum2[3]+=1;
break;
case 'E':
accum2[4]+=1;
break;
case 'F':
accum2[5]+=1;
break;
case 'G':
accum2[6]+=1;
break;
case 'H':
accum2[7]+=1;
break;
case 'I':
accum2[8]+=1;
break;
case 'J':
accum2[9]+=1;
break;
case 'K':
accum2[10]+=1;
break;
case 'L':
accum2[11]+=1;
break;
case 'M':
accum2[12]+=1;
break;
case 'N':
accum2[13]+=1;
break;
case 'O':
accum2[14]+=1;
break;
case 'P':
accum2[15]+=1;
break;
case 'Q':
accum2[16]+=1;
break;
case 'R':
accum2[17]+=1;
break;
case 'S':
accum2[18]+=1;
break;
case 'T':
accum2[19]+=1;
break;
case 'U':
accum2[20]+=1;
break;
case 'V':
accum2[21]+=1;
break;
case 'W':
accum2[22]+=1;
break;
case 'X':
accum2[23]+=1;
break;
case 'Y':
accum2[24]+=1;
break;
default:
accum2[25]+=1;
}
}
for (int i=0; i<26; i++)
{
if (accum2[i]>accum1[i])
{
is_subset=0;
}
}
if (is_subset)
counter++;
}while(!input.eof());
cout << counter;
system("pause");
return 0;
}
but i cant seem to make it work. for any word, the answer is always zero, except for aardvark, in which case the answer is one. any help? the text file is included by the way.
Attached File(s)
-
corncob_caps.txt (586.76K)
Number of downloads: 14

New Topic/Question
Reply



MultiQuote







|