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

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

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

Здравствуйте. Условие: Даны три слова X,Y,Z. Определить, существует ли слово V такое, что X,Y,Z являются повторениями слова V. Если V существует, то напечатать его. Слова имеют длину не более 1000 символов. Символ "пробел" является разделителем слов. Я сделал так:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. string word;
  13. string sw;
  14. Console.WriteLine("Введите слова X Y Z через пробел");
  15. word = Console.ReadLine();
  16. Console.WriteLine("Введите слово V");
  17. sw = Console.ReadLine();
  18. bool flag = false;
  19. int count = 0;
  20. int countw = 0;
  21. for (int i = 0; i < word.Length; i++) {
  22. if (word[i] == ' ') {
  23. countw++;
  24. }
  25. }
  26.  
  27. for (int i = 0; i < sw.Length; i++)
  28. {
  29. if (sw[i] == word[i])
  30. {
  31. flag=true;
  32. count++;
  33. }
  34. }
  35.  
  36. if ((flag == true) && (count==countw+1)) {
  37. Console.WriteLine("{0}", sw);
  38. }
  39.  
  40. Console.ReadKey();
  41. }
  42. }
  43. }
Но получается так что программа считает повторением только слова, в которых слово V находится в начале каждого из них. Пример: В качестве слов X Y Z ввожу слова "этода этонет этовозможно". В качестве слова V ввожу "это". Тогда программа работает правильно и выводит слово "это". В случае же, если слова X Y Z будут такими "даэто нетэто возможноэто", а слово V также будет "это", то программа ничего не выведет. Надеюсь пример понятный. Нужна помощь с этой проблемой.

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

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

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы