Вя
Вячеслав

Вот задачка по с++. Очень нужна помощь, пожалуйста. задан текст. Напечатать порядковый номер самого длинного слова

Зе
Земфира

Двигаешься по разделительным знакам считая слова и их длинну.
Первое максимальное и номер =1. потом от слова к слову, если есть большее запоминаешь слово в массив и запоминаешь соответствующий показатель счетчика слов.

Владислав
Владислав

//Если слова отделены пробелами, то пусть задан массив:
char mas[80] = " Слово1 Слово2 Словоооо3 Слово4 Сл";
int n=1, m=1; // позиции начала и конца слова
int cw=0; // кол. слов
int maxl=0; // максимальная длина слова
int Nmaxl=0; // номер с максимальной длиной слова

for(int k = 0; k < 80; k++)
{
// выход из цикла если конец строки
if(mas[k]==0) break;

if(k==0) // для 1 символа
{
if(mas[0] != ' ') n=0; // начало слова найдено
}
else if(k==79 || (mas[k+1] == 0) ) // для последнего символа
{
if(mas[k] != ' ')
{
m=k; // конец слова найден
cw++; // увеличим счетчик слов
// если длина слова больше максимальной запомненной, то надо запомнить
// новую длину и номер слова
if( (m-n+1) > maxl )
{
maxl = (m-n+1);
Nmaxl = cw;
}
}
}
else // для символов внутри
{
// если предыдущий пробел, а текущий нет, то это начало слова
if(mas[k-1]==' ' && mas[k]!=' ') n=k;
// если текущий не пробел, а следующий пробел, то это конец слова
if(mas[k]!=' ' && mas[k+1]==' ')
{
m=k;
cw++; // увеличим счетчик слов
// если длина слова больше максимальной запомненной, то надо запомнить
// новую длину и номер слова
if( (m-n+1) > maxl )
{
maxl = (m-n+1);
Nmaxl = cw;
}
}
}

}

cout << Nmaxl;

Похожие вопросы
ответы дайте характеристику химическому элементу с порядковым номером 56. очень нужно пожалуйсто
Очень нужна помощь с задачкой по информатике: ) на Qbasic
Помогите пожалуйста с задачкой по Си !! Очень нужно! ! срочно!
Очень нужна помощь!! ! Пожалуйста, решите задачку по математике!!!
Очень нужна помощь! ! Пожалуйста, решите задачку по математике!
как напечатать два А5 на А4? нужно напечатать книжку, чтоб слева и справа был текст
Дана строка символов. Определить длину строки. Если длина строки <=20, то найти в строке порядковый номер символа *
Ввести строку, вывести самое длинное слово. с++. Ввести строку, вывести самое длинное слово. с++
Нужна помощь! Как перевести md5 обратно в текст? Не текст в md5, а именно на оборот!! ! Пожалуйста очень нужно!!!
ПАРЕНЬ-ШЛЮХА (длинный текст, но помощь очень нужна!