Определить существуют ли слова X Y Z которые являются повторением слова V - C#

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

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

Здравствуйте. Условие: Даны три слова X,Y,Z. Определить, существует ли слово V такое, что X,Y,Z являются повторениями слова V. Если V существует, то напечатать его. Слова имеют длину не более 1000 символов. Символ "пробел" является разделителем слов. Я сделал так:
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 word;
            string sw;
            Console.WriteLine("Введите слова X Y Z через пробел");
            word = Console.ReadLine();
            Console.WriteLine("Введите слово V");
            sw = Console.ReadLine();
            bool flag = false;
            int count = 0;
            int countw = 0;
 
            for (int i = 0; i < word.Length; i++) {
                if (word[i] == ' ') {
                    countw++;
                }           
            }

            for (int i = 0; i < sw.Length; i++)
            {
                if (sw[i] == word[i])
                {
                   flag=true;
                   count++;
                }
            }

            if ((flag == true) && (count==countw+1)) {
                Console.WriteLine("{0}", sw);
            }

            Console.ReadKey();
        }
    }
}
Но получается так что программа считает повторением только слова, в которых слово V находится в начале каждого из них. Пример: В качестве слов X Y Z ввожу слова "этода этонет этовозможно". В качестве слова V ввожу "это". Тогда программа работает правильно и выводит слово "это". В случае же, если слова X Y Z будут такими "даэто нетэто возможноэто", а слово V также будет "это", то программа ничего не выведет. Надеюсь пример понятный. Нужна помощь с этой проблемой.

Решение задачи: «Определить существуют ли слова X Y Z которые являются повторением слова V»

textual
Листинг программы
static void Main(string[] args)
{
    Console.WriteLine("Введите слова X Y Z через пробел");
    string[] words = Console.ReadLine().Split(' ');
    Console.WriteLine("Введите слово V");
    string sw = Console.ReadLine();
 
    if (words[0].Contains(sw) && words[1].Contains(sw) && words[2].Contains(sw))
        Console.WriteLine(sw);
    Console.ReadKey();
}

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


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

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

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