Записать в строку только те предложения, которые не содержат ком и двоеточий - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Есть задание, не могу придумать алгоритм решения(помогите идеей или кодом). Заранее спасибо. Написать программу, в которой есть две строки. В первую строку пользователь вводит текст, во вторую программа записывает с первой только те предложения, которые не содержат ком и двоеточий.
Костыли и велосипеды, я просто оставлю это здесь (может кому понадобится)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Большое видится на расстоянье.\n" +
                                "Когда кипит морская гладь -\n" +
                                "Корабль в плачевном состоянье.\n" +
                                "Земля - корабль!\n" +
                                "Но кто - то вдруг,\n" +
                                "За новой жизнью, новой славой.\n" +
                                "В прямую гущу бурь и вьюг.\n" +
                                "Ее направил величаво.\n" +
                                "Ну кто ж из нас на палубе большой.\n" +
                                "Не падал, не блевал и не ругался?\n" +
                                "Их мало, с опытной душой.\n" +
                                "Кто крепким в качке оставался.";
            Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            Console.WriteLine(str);
            Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            string str2 = "", str3 = "";
            int k = str.Length;
            for (int i = 0; i < k; i++)
            {
                str2 = str2 + str[i];
                if (str[i] == '!' || str[i] == '.' || str[i] == '?')
                {
                    int l = str2.Length;
                    for (int m = 0; m < l; m++)
                    {
                        if (str2[m] == ',' || str2[m] == ':')
                        {
                            str2 = "";
                            break;
                        }
                    }
                    str3 = str3 + str2;
                    str2 = "";
                }
            }
            Console.WriteLine(str3);
            str3 = "";
            Console.ReadLine();
        }
    }
}

Решение задачи: «Записать в строку только те предложения, которые не содержат ком и двоеточий»

textual
Листинг программы
            string str = "Большое видится на расстоянье.\n" +
                                "Когда кипит морская гладь -\n" +
                                "Корабль в плачевном состоянье.\n" +
                                "Земля - корабль!\n" +
                                "Но кто - то вдруг,\n" +
                                "За новой жизнью, новой славой.\n" +
                                "В прямую гущу бурь и вьюг.\n" +
                                "Ее направил величаво.\n" +
                                "Ну кто ж из нас на палубе большой.\n" +
                                "Не падал, не блевал и не ругался?\n" +
                                "Их мало, с опытной душой.\n" +
                                "Кто крепким в качке оставался.";
            Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            Console.WriteLine(str);
            Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            Console.WriteLine(string.Join("\n",str.Split(new char[] { '\n' },StringSplitOptions.RemoveEmptyEntries).Where(x=>!x.Contains(',') && !x.Contains(':'))));
            Console.ReadLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы