I
irit
Добрый День. Помогите пожалуйста с решением следующей задачи:
В подключаемой к головной программе функции необходимо реализовать следующее: найти и вывести на экран самое длинное и самое короткое слово в указанной пользователем строке символьной матрицы М. Пишем на Борланде. Некоторые функции из книг - не работают. Получилось написать только подсчет макс. длины слова, но как найти мин. и вывести их оба на экран - не могу понять. Была идея зафиксировать индекс первой буквы макс. и мин. слова в отдельных переменных и затем вывести их циклом до пробела, но реализовать не получилось, только путаюсь ещё больше. Заранее спасибо. Вот код:
В подключаемой к головной программе функции необходимо реализовать следующее: найти и вывести на экран самое длинное и самое короткое слово в указанной пользователем строке символьной матрицы М. Пишем на Борланде. Некоторые функции из книг - не работают. Получилось написать только подсчет макс. длины слова, но как найти мин. и вывести их оба на экран - не могу понять. Была идея зафиксировать индекс первой буквы макс. и мин. слова в отдельных переменных и затем вывести их циклом до пробела, но реализовать не получилось, только путаюсь ещё больше. Заранее спасибо. Вот код:
C++:
void Stroki(char M[K_Strok][K_Stolb], int st, int el)
{
clrscr(); gotoxy (20,20);
char Mchar;
int n;
cout << "Vvedite nomer stroki ";
cin >> n;
int curlen = 0; // dlina slova
int maxlen = 0; // max dlina slova
int minlen = el; // min dlina slova
int index = -1; // scetchik
for (int i=0;; i++)
{
Mchar = M[n][i];
if (Mchar == ' '|| Mchar == '\0')
index = i;
curlen = i-index;
if (curlen > maxlen)
maxlen = curlen;
if (Mchar == '\0')
{
break;
}