mardi 8 octobre 2019

Lexicographical string comparison using loops

I want to lexicographically compare two strings of equal length containing latin letters. Uppercase and lowercase letters are considered same . Here is my code:-

string in1,in2;
    getline(cin,in1);
    getline(cin,in2);
    int l=in1.length();

    for(int i=0;i<l;++i){
        in1[i]=tolower(in1[i]);
        in2[i]=tolower(in2[i]);
    }

    int sum1=0;
    int sum2=0;
    for(int i=0;i<l;++i){
        sum1=sum1 + int(in1[i]);
        sum2=sum2 + int(in2[i]);
    }
    if(sum1==sum2)
        cout<<"0"<<endl;
    if(sum1<sum2)
        cout<<"-1"<<endl;
    if(sum1>sum2)
        cout<<"1"<<endl;

This however gives error on certain test conditions. What is wrong here?

Aucun commentaire:

Enregistrer un commentaire