Ну примерно так (фрагмент на Си) :
char *s ; /* строка */
int i = 0; /* счетчик */
int MAX = 0; /* максимальная длина подстроки */
int TMP = 0; /* временная максимальная длина подстроки */
while (s[i++] != '/n') /* пока не конец строки */
{
if (s [ i ] == 'c') TMP++; /* если "с", то увеличиваем счетчик */
else {
If( MAX < TMP) MAX = TMP;
TMP=0;
} /* если знаки "с" прервались, то запоминаем текущую большую длину, а временную обнуляем */
}
printf("самая длинная подстрока из подряд стоящих букв с равна %d символам", MAX) ;
Другие языки программирования и технологии
Пожалуйста,помогите написать программу,которая определяет длину самой длинной подстроки из подряд стоящих букв "с"!
нужно включить компьютер, выйти в интернет, написать на ответах свой вопрос и ждать.
Ой, ты уже всё это сделала? Молодец, больше от тебя ничего не требуется!
Ни в коем случае не пытаться сама что-то писать!! !Это может повредить твоё неокрепшее сознание, тебе может понравиться и потом будет уже не остановиться! Будет хотеться сделать что-нибудь самой, а не искать помощи на стороне! Ответы погибнут без таких как ты.
Не ищи в интернете справочники по языку. Вот сюда вообще не заглядывай.
http://www.codenet.ru/progr/delphi/Object-Pascal/
Знать устройство цикла For также крайне вредно. Ведь в этом случае останется лишь пять шагов до решения:
1/ завести переменную типа целое число, где будет лежать максимальная длина (для начала туда 0 запишем)
2/ завести переменную, какую по счёту мы в текущий момент видим букву "c" (для начала тоже 0)
3/ пройтись вдоль строки,
если текущая буква = "с", то прибавить один к счётчику текущих найденных букв
иначе (последовательность кончилась или даже не начиналась)
сравнить текущий счётчик с максимальным.
если больше максимального - перенести рекорд в максимальный
очистить текущий счётчик
4/ строка кончилась? замечательно!
сверяем текущий счётчик с максимальным
если больше - обновляем максимальный
5/ ну и выводим наверно максимально найденное число.
Ой, ты уже всё это сделала? Молодец, больше от тебя ничего не требуется!
Ни в коем случае не пытаться сама что-то писать!! !Это может повредить твоё неокрепшее сознание, тебе может понравиться и потом будет уже не остановиться! Будет хотеться сделать что-нибудь самой, а не искать помощи на стороне! Ответы погибнут без таких как ты.
Не ищи в интернете справочники по языку. Вот сюда вообще не заглядывай.
http://www.codenet.ru/progr/delphi/Object-Pascal/
Знать устройство цикла For также крайне вредно. Ведь в этом случае останется лишь пять шагов до решения:
1/ завести переменную типа целое число, где будет лежать максимальная длина (для начала туда 0 запишем)
2/ завести переменную, какую по счёту мы в текущий момент видим букву "c" (для начала тоже 0)
3/ пройтись вдоль строки,
если текущая буква = "с", то прибавить один к счётчику текущих найденных букв
иначе (последовательность кончилась или даже не начиналась)
сравнить текущий счётчик с максимальным.
если больше максимального - перенести рекорд в максимальный
очистить текущий счётчик
4/ строка кончилась? замечательно!
сверяем текущий счётчик с максимальным
если больше - обновляем максимальный
5/ ну и выводим наверно максимально найденное число.
Похожие вопросы
- Написать программу которая определяет количество учеников в классе,чей рост превышает средний(Turbo Pascal)
- помогите написать программку которая определяет среднее арифметическое непарных элементов массива.
- Помогите пожалуйста! помогите написать программу на языке паскаль
- Пожалуйста помогите написать программу по С++.
- Пожалуйста, помогите написать программу через функции в Си++
- C++ Помогите написать программу, которая выводит первые n простых чисел.
- Написать программу на Visual BasicВ каждом слове текста замените "а" на букву "е", если "а" стоит начетном месте, и заме
- Возможно ли в теории написать программу, которая по изображению графика функции будет определять саму функцию?
- Помогите написать программу со switch в СИ
- Объясните, пожалуйста, как написать программу в Pascal'e, которая определяет, находится ли координата в ромбе или нет.