Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 145
#1

Строки ,сравнение двух слов. - C++

27.12.2011, 16:39. Просмотров 476. Ответов 0
Метки нет (Все метки)

Доброго дня.
Данный код сравнивает два слова друг с другом , по очереди.
Выводит на экран можно ли из букв первого , собрать второе и наоборот.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string one;//1 слово
    string too;//2 слово
    string sim; // буква в внешнем цикле
    string siim; // буква в внутреннем цикле
    bool pravda = false;
    bool log=true;
    int per , vtor; // переменные хранящие размер строк
    cout<<"Vvedite 1 slovo: "<<endl;
    cin>>one;
    cout<<"Vvedite 2 slovo: "<<endl;
    cin>>too;
    per = one.size();
    vtor = too.size();
 
    cout<<"Dlina 1 slova: "<<per<<endl;
    cout<<"Dlina 2 slova: "<<vtor<<endl;
    cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
 
    for(int i=0;i<per;i++){
       sim = one.at(i); // берем первую букву i слова
        for(int j=0;j<vtor;j++){
         siim=too.at(j); //берем j букву 2 слова
         if (sim == siim){pravda = true;break;}// Если есть совпадения выходим из внутреннего цыкла
         else {pravda=false;}//Если такой буквы нет , ставим ложь
        /*Следующая строка проверяет есть ли данный символ , если нет то log = false , заменяет         return 1 ,т.к.  если вставить return программа завершит работу*/
         if(j==vtor-1 && pravda==false){cout<<endl<<"bukvi "<<sim<<" net"<<endl;log=false;}
        }
 
    }
    cout<<endl;
    if(pravda==true && log==true){cout<<"Clovo "<<one<<" mohno sostavit iz slova "<<too<<endl;}
    cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
    pravda =false;
        for(int i=0;i<vtor;i++){
       sim = too.at(i);
        for(int j=0;j<per;j++){
         siim=one.at(j);
         if (sim == siim){pravda = true;break;}
         else {pravda=false;}
         if(j==per-1 && pravda==false){cout<<endl<<"bukvi "<<siim<<" net"<<endl;return 1;}
        }
 
    }
    cout<<endl;
    if(pravda==true){cout<<"Clovo "<<too<<" mohno sostavit iz slova "<<one;}
 
    return 0;
}
Вопрос в следующем ,как оптимизировать столь некрасивый код?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 16:39     Строки ,сравнение двух слов.
Посмотрите здесь:

Сравнение двух слов - C++
Как сравнить два слова? использую strcmp но результата не дает

Строки в С++....сравнение слов не получется... - C++
Прога для решения задачи: С клавиатуры вводятся две строки, содержащие некоторые слова. Слова перечислены через запятую. Исключить из...

Сравнение слов - C++
Предположим список слова ехал грека грека через реку, ищу все максимальной длины x-слова, в y-слова макс длины while(x!=0) { ...

сравнение слов... - C++
Доброго времени суток. У меня следующая проблема. Есть задача: Ввести две строки символов. Определить, совпадает ли в них первое...

Алфавит и сравнение слов - C++
не понял такой вещи a, b, c, d if (&quot;dd&quot; &lt; &quot;cc&quot;) cout &lt;&lt; &quot;cc &gt; dd&quot; &lt;&lt;'\n'; if (&quot;aa&quot; &lt; &quot;bb&quot;) cout &lt;&lt; &quot;bb &gt; aa&quot; &lt;&lt;'\n'; ...

Сравнение слов в строке - C++
Не могу понять как сравнивать слова. В данной проге у меня просто выводятся все 4-х символьные слова, а нужно чтобы выводились только те...

Сравнение и вывод слов - C++
Всем доброго времени суток. Хочу попросить помощи. Моя задача - составить программу, которая бы при вводе фамилии выдавала некие данные...

Сравнение русских слов - C++
Как сравнить русские слова? Имеется вот такой код. При сравнении слов не выводит перевод { case 1: { cout &lt;&lt; &quot;Введите...

Сравнение русских слов - C++
Здравствуйте! Пишу программу для опроса людей (так сказать тест знаний). Так вот, программа задает вопрос, человек должен на него ответить,...

Сравнение слов в структуре - C++
Есть структура, состоящая из 10 элементов. Часть элементов хранят числовые значения, часть — слова. Как мне узнать, является ли...

Сравнение векторов и замена слов в векторе - C++
Вводим n-е количество слов в векторе str. Имеется второй вектор dislike с определенными словами. Надо сравнить вектор str с вектором...

Сравнение строк и вывод одинаковых слов С++ - C++
Хочу чтобы пользователь вводил 2 строки, они сравнивались и выводились одинаковые слова с двух строк. Программирую не так много, знаю мало,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru