Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
#1

Заданы две символьные строки. Все ли буквы первого слова встречаются во втором - C++

09.09.2014, 14:36. Просмотров 440. Ответов 4
Метки нет (Все метки)

проблема вот с этим "Все ли буквы первого слова встречаются во втором." не могу организовать цикл мозгов не хватает)) однокурсник пытался помочь но у него тоже чет не совсем вышло) хелп
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
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include <string>
#include <iostream>
     #include <cstring>
using namespace std;
 
int main(int argc, char* argv[])
{
    char string[] = "stroka 1 - ";
    cout << "vvedite stroky 1: ";
    char in_string[500];
    gets(in_string);
    char string1[] = "stroka 2 - ";
    cout << "vvedite stroky 2: ";
    char in_string1[500];
    gets(in_string1);
    cout << string << in_string << endl;
    cout << string1 << in_string1 << endl;
    cin>>string1;
    int i;
 
 for (int i = 0; i < 50; i++)
        {
            if ( string[i]!=string1[i]) {cout<<"pervoe slovo ne ravno 2y\n";};
             if ( string[i]==' '){i=52;};
         }
    system("pause");
    return 0;
}

http://www.cyberforum.ru/cpp-beginners/thread789113.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2014, 14:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заданы две символьные строки. Все ли буквы первого слова встречаются во втором (C++):

Найти в строке все буквосочетания, в которых встречаются две соседние в алфавите буквы, и удалить их
С клавиатуры вводится строка S. Она содержит различные символы и пробелы. Части...

Удалить из слова X все буквы, которые встречаются в слове Y
#include &lt;iostream&gt; using namespace std; main() { string x, y; ...

Удалить слова из текста, которые содержат все буквы первого слова
Как можно реализовать сие на c++? Не совсем понимаю принцип.

Определить, верно ли, что в строке встречаются все буквы из слова step
Уважаемые программист не сочтите за наглость ну очень прошу вас помочь...

Напечатать все слова строки, предварительно удалив из каждого слова все предыдущие вхождения последней буквы
дана последовательность слов разделенных пробелами .Напечатать все слова...

4
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
09.09.2014, 15:25 #2
Все ли буквы первого слова встречаются во втором.
C++
1
2
3
4
5
if ( string1 == string2 ) {
    std::cout << "Все." << std::endl;
} else {
    std::cout << "Не все." << std::endl;
}
0
КОП
446 / 353 / 115
Регистрация: 15.08.2010
Сообщений: 965
Завершенные тесты: 1
09.09.2014, 15:29 #3
wolf0022, ввод двух строк превратили в чёрт знает что.
По алгоритму:
Проходим циклом по элементам первой строки.
Для каждого элемента просматриваем вторую строку на совпадение.
Если не найдено - выходим из цикла и выдаем результат.
Если дошли до конца первой строки и нигде не прервали цикл, значит все элементы есть .

ПС в конце вывод "первое слово не равно второму" расходится с условием задачи.
0
mss307
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
09.09.2014, 15:40 #4
Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    bool    flag = false;
    for(int i = 0; i < 500; ++i)
    {   
        flag = false;
        for(int j = 0; j < 500; ++j)
        {
            if(str1[i] == str2[j])
            {   
                flag = true;
                break;
            }
        }
        if(false == flag)
        {   
            std::cout << "Не нашли.";
            return  -1;
        }
    }
0
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
09.09.2014, 15:55 #5
Лучший ответ Сообщение было отмечено wolf0022 как решение

Решение

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
#include <iostream>
 
int strEqual(char str1[], char str2[]) {
    int i = 0;
    int counter = 0;
 
    for (  ; str1[i] != '\0'; i++ ) {
        for ( int j = 0; str2[j] != '\0'; j++ ) {
            if ( str1[i] == str2[j] ) {
                counter +=1;
                break;
            }
        }
    }
    if ( counter == i ) {
        return 1;
    }
    return 0;
}
 
 
int main() {
    char str1[10];
    char str2[10];
 
    std::cin >> str1;
    std::cin >> str2;
 
    if ( strEqual(str1, str2) ) {
        std::cout << "Yes." << std::endl;
    } else {
        std::cout << "No." << std::endl;
    }
 
    return 0;
}
1
09.09.2014, 15:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2014, 15:55
Привет! Вот еще темы с решениями:

Вывести на экран элементы первого массива, которые не встречаются во втором.
Заданы два массива целых чисел: обрабатываемый массив и массив разрешенных...

Напечатать все слова, отличные от последнего слова строки, удалив из каждого слова первую и последнюю буквы
Близиться сессия,а завтра мне сдавать 2 проги. Помогите ребят,могу даже 100...

Найти количество элементов первого массива, которые встречаются во втором массиве
Помогите написать программу пожалуйста!!!!!!! Составьте функцию, которая...

вывести из строки те слова ,которые содержат две буквы z.
вывести из строки те слова ,которые содержат две буквы z. ПОМОГИТЕ ПОЖАЛУСТА


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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