S
Screamer
Здравствуйте, есть программа которая работает не совсем правильно. Задача в том что бы в двух данных предложениях измерить длину одинаковых слов если такие имеются. Проблема в том что если пишу оба предложения одинаковые считает всё как надо а если изменить порядок слов то не считает. Заранее спасибо.
Вот код:
Вот код:
Код:
#include <iostream>
#include <cstring>
int main() {
char str1[100], str2[100];
std::cout << "Vvedite pervoe predlojenie " << std::endl;
std::cin.getline(str1, 100);
std::cout << "Vvedite vtoroe predlojenie " << std::endl;
std::cin.getline(str2, 100);
int i, j;
std::cout << "1-> " << str1 << std::endl
<< "2-> " << str2 << std::endl;
i = j = 0;
while (true) {
int t = strstr(&str1[i], " ") - &str1[i];
if (t <= 0) break;
str1[t + i] = '\0';
j = strstr(str2, &str1[i]) - str2;
if (j >= 0)
std::cout << "\n" << &str1[i] << " ( " << strlen(&str1[i]) << " ) ";
i = t + 1;
}
std::cin.get(), std::cin.get();
return 0;
}