Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение
символа первой строки, который первым совпал с одним из символов второй. Вывести первую
строку, исключив из нее слово, в которое входит этот символ. Вторая строка пробелами не
разделена.(60 баллов) написать программу на с#

Ответы

Ответ дал: Aillianna
0
using System;

internal class Program
{
    private static void Main()
    {
        Console.WriteLine(DoSomeThing("Как тебе живется", "цчхб"));
        Console.WriteLine(DoSomeThing("Как тебе живется", "цчх"));
        Console.WriteLine(DoSomeThing("Как тебе живется", "цчхи"));
        Console.WriteLine(DoSomeThing("Как тебе живется", "цчахбаек"));
        Console.WriteLine("Программа оконченна");
        Console.ReadKey();
    }

    private static string DoSomeThing(string st1, string st2)
    {
        Console.WriteLine();
        //Console.WriteLine($"{st1} -  {st2}");
        var i = 0;
        for (var j = 0; j < st1.Length; j++)
        {
            //Console.WriteLine($"st1[{j}] = {st1[j]} {!st2.Contains(st1[j].ToString())}");
            if (!st2.Contains(st1[j].ToString())) continue;
            i = j;
            break;
        }
        if (i == 0) return "Нет совпадений";

        var s = st1.LastIndexOf(" ", i, StringComparison.Ordinal) > 0
            ? st1.Substring(0, st1.LastIndexOf(" ", i, StringComparison.Ordinal))
            : "";
        s = s +
            (st1.IndexOf(" ", i, StringComparison.Ordinal) > 0
                ? st1.Substring(st1.IndexOf(" ", i, StringComparison.Ordinal))
                : "");
        return "Искомый символ - " + st1[i] + "n" + s.Trim();
    }
}

Вас заинтересует