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

В двух строках найти подстроки и наибольшую подстроку - C++

Восстановить пароль Регистрация
 
smull
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 8
14.02.2013, 02:13     В двух строках найти подстроки и наибольшую подстроку #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char *beg_a , *beg_b; 
    char a[50] = "Father is strong";
    char b[50] = "In math give bool str";
 
    char temp[50];
    int end_a,end_b,i;
 
    end_a = strlen(a);
    end_b = strlen(b);
 
    for(i=0;i<end_a && i <end_b;i++)
    {
        if(beg_a[i] == beg_b[i])
        temp[i] = beg_a[i];
        if(beg_a[i] != beg_b[i])
            printf("%s",temp[i]);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2013, 02:13     В двух строках найти подстроки и наибольшую подстроку
Посмотрите здесь:

заменить в строке все вхождения подстроки str1 на подстроку str2 C++
C++ Поиск подстроки в двух строках
выделить из строки наибольшую монотонную подстроку C++
C++ STL. Заменить в строке S все вхождения подстроки S1 на подстроку S2
Найти координаты первого вхождения в заданную строку подстроки, состоящей из двух одинаковых заданных символов C++
C++ Найти наибольшую по величине сумму двух соседних элементов массива
C++ Заменить в строке все вхождения подстроки str1 на подстроку str2

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
14.02.2013, 08:23     В двух строках найти подстроки и наибольшую подстроку #2
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
char **podstr(char *str,int &n){
    char buf[1000][1000];
    int i,j,j1,len=strlen(str);
    i=j=j1=0;
    for(;i<len;i++,j=0){
        if(str[i]!=','&&str[i]!='.'&&str[i]!=';'&&str[i]!=' '&&str[i]!=':'&&str[i]!='\n'&&str[i]!='\t'&&str[i]!='!'&&str[i]!='?'){//можно создать отдельную функцию, которая будет проверять не является ли текущий символ знаком препинания, вроде была даже стандартная функция, но к сожалению я её не помню =)
            while(str[i]!=','&&str[i]!='.'&&str[i]!=';'&&str[i]!=' '&&str[i]!=':'&&str[i]!='\0'&&str[i]!='\n'&&str[i]!='\t'&&str[i]!='!'&&str[i]!='?')
                buf[j1][j++]=str[i++];
            buf[j1][j]='\0';
            j1++;
        }
    }
    char **str1=new char*[j1];
    for(i=0;i<j1;i++){
        str1[i]=new char[strlen(buf[i])+1];
        for(j=0;j<strlen(buf[i])+1;j++)
            str1[i][j]=buf[i][j];
    }
    n=j1;
    return str1;    
}
void main(){
    char a[50] = "Father is strong";
    char b[50] = "In math give bool str";
    int n,n1,max,max1,imax=0,imax1=0;
    char *podstr1;
    char **str=podstr(a,n),**str1=podstr(b,n1);
    max=strlen(str[0]);
    max1=strlen(str1[0]);
    for(int i=1;i<n;i++)
        if(strlen(str[i])>max){
            max=strlen(str[i]);
            imax=i;
        }
    for(int i=1;i<n1;i++)
        if(strlen(str1[i])>max1){
            max1=strlen(str1[i]);
            imax1=i;
        }
    cout<<"Max podstr: ";
    if(max>=max1)
        podstr1=str[imax];
    else
        podstr1=str1[imax1];
    cout<<podstr1<<endl;
}
Yandex
Объявления
14.02.2013, 08:23     В двух строках найти подстроки и наибольшую подстроку
Ответ Создать тему
Опции темы

Текущее время: 21:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru