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

В произвольно взятом предложении напечатать слова, у которых совпадают более двух букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исключения http://www.cyberforum.ru/cpp-beginners/thread686483.html
можно ли возвращаться к выполнению кода после обработки исключения, например try{ func1();//обе ф-и могут вызывать исключение exception //хочу возвращаться сюда и продолжать выполнение кода,...
C++ if как записать правильно ? (самый начинающий) if (x=от 40 до 100) ! Уважаемые программисты как мне это записать ?! http://www.cyberforum.ru/cpp-beginners/thread686482.html
Чтение массива из файла C++
Здравствуйте, подскажите, пожалуйста почему не происходит чтение из файла #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv) {...
C++ ДП Динамическое программирование
ограничение времени на тест: 0.5 сек. ограничение памяти на тест: 65536 KB. Рассмотрим все строки длины N, состоящие только из букв 'a' и 'b', в которых никакие две буквы 'b' не идут подряд....
C++ Массив разных объектов http://www.cyberforum.ru/cpp-beginners/thread686466.html
Здравствуйте, в институте задали написать шахматы на C++ с использованием классов, т.е все фигуры(например TPawn) должны быть основаны на одном родительском классе(TFigure). Я начал писать но у...
C++ Сформировать матрицу В путем вычеркивания строки и столбца, на пресечении которых расположен минимальный элемент матрицы А Задание к лабораторной работе Дана матрица А (5*5) нецелых элементов. -3,8 0 5,3 4,5 0,5 0,2 -1,3 0 -8,5 3,5 -1,1 1,8 5,1 -8,2 0,32 0 ... подробнее

Показать сообщение отдельно
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.11.2012, 11:37
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
bool s_isect2(char* str1, char* str2)
{
    char* sw1 = strlen(str1) > strlen(str2) ? str1 : str2;
    char* sw2 = !strcmp(sw1,str2) ? str1 : str2;
 
    int count = 0; 
    for (int i = 0; sw1[i] != '\0'; i++)
        for (int k = 0; sw2[k] != '\0'; k++)
        {
            char *s1 = &sw1[i], *s2 = &sw2[k];
            while (*s1 == *s2 && *s1++ != '\0' && 
                *s2++ != '\0' && sw1[i] == sw2[k]) count++;
        }
 
    return (count > 2) ? 1 : 0;
}
 
 
int main()
{
    static char str[256] = "catalog drive bus c++ object disc pc bitset serialata field";
 
    printf("%s\n\n",str);
 
    char** ss = new char*[256];
    memset((void*)ss, 0x00, 4 * 256);
 
    int n = 0; char* sw = strtok(str," ");
    while (sw != NULL && n < 256)
    {
        ss[n] = new char[256];
        strcpy(ss[n++], sw);
        sw = strtok(NULL," ");
    }
 
    for (int i = 0; ss[i] != NULL; i++)
        for (int j = i+1; ss[j] != NULL; j++)
            if (s_isect2(ss[i],ss[j])) { printf("%s %s\n",ss[i],ss[j]); }
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/e7d062963a10b55fa1dc9a6d4d5bb46e
1
Миниатюры
В произвольно взятом предложении напечатать слова, у которых совпадают более двух букв  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru