Как сравнить по очереди символы у строк с++ и найти различный, после чего вывести?

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2023
#include <iostream>
#include <string>
using namespace std;

int main() 
{
    string str1;
    string str2;
    
      
    cin>>str1;
    int m = str1.size();
    cin>>str2;
    int k = str2.size();
   
    if (m==k && str1==str2)
        cout <<"rezultat sravneniya: 0"<<endl;
    else
        cout <<"rezultat sravneniya: 5"<< endl;   

        
    if (m!=k) {
    cout << "stroki raznoy dlini"; }
        
    else {
    for (int i=0; str1[i] == str2[i]; i++)
        if (str1[i] != str2[i])
        cout << "perviy otlichayushiy simbol : " << i;  
    }
                
}

введите сюда описание изображения

Ответы

▲ 1

Мне кажется, от вас хотят работу с символами, так что сравнение string типа str1==str2 - это уже читерство... Но если оно допустимо, то вот вариант решения

int main() {
    string str1;
    string str2;
    getline(cin, str1);
    getline(cin, str2);

    if (str1 == str2) {
        cout << "rezultat sravneniya: 0\n";
        }
    else {
        cout << "rezultat sravneniya: 5\n";

        if (str1.size() != str2.size()) {
            cout << "stroki raznoy dlini\n";
            }
        else {
            int i = 0;

            while (str1[i] == str2[i]) i++;

            cout << "perviy otlichayushiy simbol : " << i << endl;
            }
        }
    }