22 / 22 / 0
Регистрация: 15.10.2012
Сообщений: 94
1

Массив строк. Вывести строки, в которых имеется самая длинная цепочка символа «*»

18.02.2013, 11:29. Показов 1444. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в которых имеется самая длинная цепочка символа «*». В каждой такой строке оставить только по одному символу «*». Нахождение и удаление символов оформить в виде функций.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2013, 11:29
Ответы с готовыми решениями:

Сформировать строки таким образов, что бы первой была самая короткая строка, а последней самая длинная
задан строка. сформировать строки таким образов что бы первой была самая короткая строка а...

Самая длинная общая подпоследовательность строк/ НОП строк (Динамическое программирование)
Доброго времени суток. Помогите пожалуйста разобраться с алгоритмом НОП строк. Суть алгоритма....

Самая длинная цепочка
Есть задача: Найти длину самой длинной цепочки одинаковых чисел, идущих подряд в файле input.txt ....

Имеется текстовый файл. Посчитать количество строк, в которых имеется ровно пять букв «и». Вывести эти строки на экран.
Помогите решить Имеется текстовый файл. Посчитать количество строк, в которых имеется ровно пять...

1
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
18.02.2013, 15:43 2
Лучший ответ Сообщение было отмечено Pe4eNbKo_O как решение

Решение

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
#include <iostream>
#include <string>
 
int chain(std::string& s) {
    typedef std::string::size_type str_size;
    str_size i = 0;
    str_size length = 0;
    while (i != s.size()) {
        if (s[i] == '*') {
            str_size j = i;
            while (j != s.size() && s[j] == '*')
                ++j;
            if (j - i > length)
                length = j - i;
        }
        ++i;
    }
    return length;
}
 
std::string exclude(std::string& s) {
    //std::string buf;
    typedef std::string::size_type str_size;
    str_size i = 0;
    while (i != s.size()) {
        if (s[i] == '*') {
            str_size j = i;
            while (j != s.size() && s[j] == '*')
                ++j;
            if (i != j)
                s.erase(i + 1, j - i - 1);
        }
        ++i;
    }
    return s;
}
 
int main()
{
    std::string s1, s2, news1, news2;
    std::cout << "enter first string" << std::endl;
    std::getline(std::cin, s1);
    int lens1 = chain(s1);
    news1 = exclude(s1);    
    std::cout << "max length of chain * is " << lens1 << std::endl << "new string: " << news1 << std::endl;
    std::cout << "enter second string" << std::endl;  // и так со всеми строками
    std::getline(std::cin, s2);
    int lens2 = chain(s2);
    news2 = exclude(s2);
    std::cout << "max length of chain * is " << lens2 << std::endl << "new string: " << news2 << std::endl;
    system("PAUSE");
    return 0;
}
1
18.02.2013, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2013, 15:43
Помогаю со студенческими работами здесь

Выделить цветом элементы в которых самая длинная подцепочка из 1
Добрый вечер! Решаю данную задачу Считать с первого столбца рабочего листа N (N вводится с...

Найти номер строки, в которой находится самая длинная последовательность
Как в целочисленной прямоугольной матрице найти номер строки, в котором находится самая длинная...

Номер строки, в которой самая длинная серия одинаковых злементов
Написать программу, определяющую, в какой строке целочисленной матрицы m x n находится самая...

Двумерный массив. Подсчитать количество строк, в которых имеется хотя бы 1 нулевой элемент
СП подсчета строк двумерного массива A(N,M), в которых имеется хотя бы 1 нулевой элемент. Сделал...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru