В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
silwana2002
silwana2002
04.01.2021 22:56 •  Информатика

C#, консоль дана строка s. разделить строку на отдельные слова не используя стандартные средства для разбиения строк

Ответ:
Ксеньд0ль
Ксеньд0ль
02.10.2020 02:05
Using System;
using System.Collections.Generic;
using System.Linq;

static class Program
{
    static IEnumerable<string> Words(this string Text)
    {
        char[] s = Text.ToCharArray();
        bool isWord = false;
        int left = 0;
            
        for (int i = 0; i < s.Length; i++)
        {
            bool isLetter = Char.IsLetterOrDigit(s[i]);
            if (isLetter && !isWord)
                left = i;

            if (!isLetter && isWord)
            {
                yield return new string(s, left, i - left);
            }

            isWord = isLetter;
        }
    }

    static void Main(string[] args)
    {
        string s = "33 коровы, 33 коровы и стакан чего-то..";

        foreach (var w in s.Words())
            Console.WriteLine("\"{0}\"", w);

        string[] result = s.Words().ToArray(); // так можно получить массив

        Console.ReadKey();
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?