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

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

Войти
Регистрация
Восстановить пароль
 
Конец
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 14
#1

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++

06.04.2014, 22:58. Просмотров 666. Ответов 6
Метки нет (Все метки)

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки.
1. Я дуб дубом,даже не понимаю что надо сделать(
2. Надеюсь на помощь
3. Win32
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 22:58     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
Посмотрите здесь:

Даны две строки. Получить строку, в которой чередуются слова первой и второй строки - C++
Даны две строки. Получить строку, в которой чередуются слова первой и второй строки. Если в одной из строк число слов больше, чем в...

Поменять 2 слово первой строки на 3 слово второй строки - C++
как поменять 2 слово 1 строки на 3 слово 2 строки? дайте совет

Необходимо определить длину каждой строки, определить сколько символив первой и второй строки совпадают - C++
Приветик всем)) Очень нужна помощь. Помогите решить некоторые задачи. 1. Пускай мы имеем массив 5 на 5. Необходимо отсортировать...

Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым совпал с одним...

Определить местоположение символа первой строки, который первым не совпал с одним из символов второй строки - C++
помогите написать прогу "Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки,...

Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. - C++
заданы 2 строки,состоящие из слов,разделенных пробелами.Определить местоположение символа первой строки,который первым совпал с одним из...

Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. - C++
пожалуйста с пояснениями если можно.Заданы 2 строки,состоящие из слов,разделенных пробелами.Определить местоположение символа первой...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,492
Записей в блоге: 4
07.04.2014, 00:08     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #2
Цитата Сообщение от Конец Посмотреть сообщение
1. Я дуб дубом,даже не понимаю что надо сделать(
2. Надеюсь на помощь
3. Win32
1. Я тоже не понял. Случайную строку можно по-разному сгенерить.
2. Это понял.
3. Это понял.
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
55
56
57
58
#include <iostream>
#include<ctime>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;
#define size_off 17
 
vector<string> rnd_string(string *words_box){
//creating vector from array
vector<string> words_box_vec(words_box, &words_box[size_off - 1]);
 
//shuffling it
random_shuffle( words_box_vec.begin( ), words_box_vec.end( ));
 
//find the rnd length of the first rnd array
 
int rnd_size;
 
rnd_size= (rand()%size_off)+1; // 1-17 we do not need in zero sized array)
 
vector<string> rnd_strings_vec(words_box_vec.begin( ), words_box_vec.begin( )+rnd_size);
 
return rnd_strings_vec;
}
 
void print_vec(string title_str, vector<string> vec){
    cout<<title_str<<endl;
    for(vector<string>::iterator it = vec.begin(); it != vec.end(); it++)
cout << *it <<" ";
cout<<endl<<endl;
}
 
int main(){
srand((unsigned int)time(0));
 
//17 words at array
string words_box[] ={
"Microsoft", "has", "confirmed", "that", "this", "is", "a", "bug", "in", 
"the", "products", "are", "listed", "at", "beginning", "of", "article"
};
 
vector<string> first_rnd_string = rnd_string(words_box);
print_vec("first_rnd_string", first_rnd_string);
 
vector<string> second_rnd_string = rnd_string(words_box);
print_vec("second_rnd_string", second_rnd_string);
 
cout<<"repeats found:"<<endl;
for(string::size_type i=0; i<first_rnd_string.size(); ++i)
for(string::size_type j=0; j<second_rnd_string.size(); ++j)
if(second_rnd_string[j] == first_rnd_string[i])cout<<first_rnd_string[i]<<" ";
cout<<endl;
cout<<endl;
system("pause"); 
    return 0; 
}
IrineK
Заблокирован
07.04.2014, 09:11     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <sstream>
using std::cout;
using std::cin;
using std::string;
using std::istringstream;
 
 
int main()
{   string s1 = "word1 word2 word3 word4";
    string s2 = "word3 word4word5 word8 word100500";
    string word, part;
 
    istringstream iss;
    iss.str(s1);
    size_t n = s2.length(), i, m;
 
    while (iss >> word)
    {   m = word.length();
        i = -1;
        while (++i < n-m)
        {   part = s2.substr(i, m);
            if (word == part)
                cout << "\n\tCommon part: "<< word;
        }
    }
 
    cin.sync(); cin.get();
    return 0;
}
Изображения
 
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,492
Записей в блоге: 4
07.04.2014, 13:16     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #4
IrineK, момент "частью второй строки" понял как "часть 2-й строки" тоже является словом... Хотя, это скорее всего не так.
Формулировка "Сгенерировать две произвольные строки" показалась забавной. Произвольные это же "любые", а не "какие-нибудь". То есть, стало интересно, в ограничениях задачки, сузить её до определённости. И в моём варианте это свелось к пересечению множеств. Если строки произвольны в пределах набора слов. Тогда они и равноправны. Иначе говоря, для данной задачи, каждая их них является строкой, независимо от её назначения.
Если же и слова генерить произвольно, то вероятность найти совпадение не высока.
Усложнил и запутался, похоже.

Не по теме:

++i < n-m , в первой строке ни одно слово не может быть больше всей второй строки. Хотя, это вполне логично.

Конец
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 14
07.04.2014, 17:39  [ТС]     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #5
Огромное спасибо за помощь,но я не могу работать через (Count), мне нужно через Edit все водить
IrineK
Заблокирован
07.04.2014, 18:16     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #6
Цитата Сообщение от IGPIGP Посмотреть сообщение
Если же и слова генерить произвольно, то вероятность найти совпадение не высока.
Вероятность будет зависеть:
1) от длины строки
2) от длины слов
3) от "мощности" алфавита
Ваш подход интересен. А я просто решала "школьную" задачу )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 19:33     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
Еще ссылки по теме:

Заданы 2 строки. Определить местоположение символа первой строки, который первым не совпал с одним из символов второй - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Приписать первое слово второй строки к первой - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать первое слово второй строки к первой. Получить из измененной первой...

Добавить в конец первой строки, последние n2-n1 слов второй строки - C++
помогите пожалуйста! Даны две строки. Пусть n1 - число слов в первой строке, а n2 - во второй (n1&lt;n2). Добавить в конец первой строки,...

Разместить текст первой строки по центру второй строки - C++
1) Функция копирует строку в другую строку заданной длины и размещает текст первой строки по центру второй строки.

Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой. Поменять местами в измененной...


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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,492
Записей в блоге: 4
07.04.2014, 19:33     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки #7
Цитата Сообщение от IrineK Посмотреть сообщение
А я просто решала "школьную" задачу )
Скромничаете. Вы просто сделали то, что нужно.
Цитата Сообщение от Конец Посмотреть сообщение
я не могу работать через (Count), мне нужно через Edit все водить
Win32 и Edit? Окно нарисовать? Сочетание слов "работать через (Count)" и "через Edit все водить" не вдохновляет. Если бы Вы что-то вроде "Тэк-с_Босх" что-то написали, я бы воодушевился наверно. А так... Может это поискать, где-то тут:
http://www.cyberforum.ru/cpp-builder/
или тут:
http://www.cyberforum.ru/win-api/
Yandex
Объявления
07.04.2014, 19:33     Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
Ответ Создать тему
Опции темы

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