Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 64 стр.

UptoLike

int n = s.Length; // получение длины строки
if (s[0] == ' ' || n == 0)
k = 0;
else k = 1;
int i = 0;
while (i<n)
{
if (s[i] == ' ' && i + 1 != n && s[i + 1] != ' ')
k++;
i++;
}
Console.WriteLine("Количество слов в строке = {0}", k);
}
}
}
Задача 3. Из заданной символьной строки распечатать слово
максимальной длины.
Решаем эту задачу следующим образом. Последовательно в символьной
строке выделяем группы “пробелы - слово”. Сначала пропускаем все
пробелы, предшествующие текущему слову. Затем подсчитываем количество
символов в слове (двигаемся до пробела или до \0’). При этом требуется
запомнить позицию, с которой начинается текущее слово. Если количество
символов текущего слова больше, чем в достигнутом на данный момент
максимуме, запоминаем позицию начала слова и его длину. Далее переходим
к рассмотрению следующей группы “пробелы - слово”. Дойдя до конца
строки, печатаем самое длинное слово или же выдаем сообщение о том, что
строка не содержит слов.
Блок-схема решения задачи 3 представлена на Рис.5.3.
Код программы для задачи 3.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
Console.WriteLine("Введите символьную строку");
string s = Console.ReadLine();
int max = 0, // длина максимального слова
imax = 0; //позиция первого символа максимал.слова
int i = 0, n = s.Length;
while (i < n)
{
while (i < n && s[i] == ' ')
i++;
               int n = s.Length;       // получение длины строки
               if (s[0] == ' ' || n == 0)
                   k = 0;
               else k = 1;
               int i = 0;
               while (i