С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, какой символ наиболее редко встречается в заданном массиве(шаблоны) http://www.cyberforum.ru/cpp-beginners/thread785984.html
Доброго времени суток, товарищи эксперты! Написал программу по следующему заданию: Задан массив int A, элементы которого могут быть заполнены только (0, 1, 2, 3, 4, 5, 6). Определить, какой символ...
C++ Организовать последовательность связей, краткое хранения не отрицательное целых 9999, так чтобы значения в которых Последнее цифра одинакова отвечала Организовать последовательность связей, краткое хранения не отрицательное целых 9999, так чтобы значения в которых Последнее цифра одинакова отвечала к одному и тому подсписку http://www.cyberforum.ru/cpp-beginners/thread785981.html
C++ В матрицы из действительных чисел поменять местами столбцы
В матрицы из действительных чисел поменять местами последний столбец и столбец, содержащий минимальный по абсолютной величине элемент матрицы.
C++ Написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран
Написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран
C++ "Змейка", C++ (консоль) http://www.cyberforum.ru/cpp-beginners/thread785963.html
Доброго инета всем. Я тут делаю задание по игре "Змейка"... Вот пока код еще не дописанный: #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <time.h>...
C++ Преобразовать массив удвоив длину его серии Дано целое число K (> 0) и целочисленный массив размера N. Преобразовать массив, удвоив длину его серии с номером K. Если серий в массиве меньше K, то вывести массив без изменений. Под серией... подробнее

Показать сообщение отдельно
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
14.02.2013, 08:23
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.