Как сравнить по очереди символы у строк с++ и найти различный, после чего вывести?
#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 шт):
Автор решения: Mikhailo
→ Ссылка
Мне кажется, от вас хотят работу с символами, так что сравнение 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;
}
}
}
