Найти и сохранить в строке те слова последовательности, которые отличны от первого слова - C# (181869)

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

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

помогите плиз, никак не получается Дана строка. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного пробела, за последним словом - точка. Найти и сохранить в строке те слова последовательности, которые отличны от первого слова и удовлетворяют следующему свойству: слово совпадает с конечным отрезком латинского алфавита (z, yz, xyz,...). Все остальные слова удалить
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication7
  7. {
  8. class Program
  9. {
  10. static void main(string stroka)
  11. {
  12. stroka = stroka.Trim(); // убираем пробелы в начале и конце строки
  13. stroka = stroka.ToLower();
  14. }
  15. static string firstWordCompare(string[] N)
  16. {
  17. string stroka = N[0];
  18. for (int i = 1; i < N.Length; i++) // организуем цикл для перебора элементов строки
  19. {
  20. if (N[0] == N[i])
  21. {
  22. N[i] = "";
  23. }
  24. else stroka = stroka + " " + N[i];
  25. }
  26. return stroka;
  27. }
  28. static string allWordCompare(string[] N) // задаем строковую функцию с параметром для преобразования строки
  29. {
  30. string stoka = "";
  31. for (int i = 0; i < N.Length; i++) // организуем цикл для перебора элементов строки
  32. {
  33. char[] letter = N[i].ToCharArray();
  34. if(N[i]!="")
  35. {
  36. if (letter[letter.Length-1] == 'z')
  37. { stoka += N[i]+ " "; }
  38. }
  39. }
  40. return stoka;
  41. }
  42. static void Main(string[] args)
  43. {
  44. for (int i=65;i<=90;i++)
  45. {
  46. Console.WriteLine((char)i);
  47. }
  48. Console.WriteLine("Введите строку");
  49. string stroka;
  50. stroka = Console.ReadLine();
  51. main(stroka);
  52. string[] N = stroka.Split(' ');
  53. stroka = firstWordCompare(N);
  54. stroka = allWordCompare(N);
  55. Console.WriteLine(stroka);
  56. Console.ReadKey();
  57. }
  58. }
  59. }

Решение задачи: «Найти и сохранить в строке те слова последовательности, которые отличны от первого слова»

textual
Листинг программы
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. namespace ConsoleApplication7 {
  5.  
  6.     class Program {
  7.  
  8.         static void Main( string[] args ) {
  9.             Console.WriteLine( "Введите строку" );
  10.             var result = GetValidString( Console.ReadLine() );
  11.             Console.WriteLine( "Результат: \n{0}", result );
  12.             Console.ReadKey();
  13.         }
  14.  
  15.         static string GetValidString( string input ) {
  16.             input = input.Trim().ToLower();
  17.             var output = "";
  18.  
  19.             // заменяем 2 и больше пробелов со строки на 1, если нужно
  20.             //input = Regex.Replace( input, " {2,}", "" );
  21.  
  22.             // нашли все слова
  23.             var words = Regex.Matches( input, "\\w+", RegexOptions.IgnoreCase );
  24.             if( words.Count > 1 ) {
  25.                 var firstWord = words[ 0 ].Value;
  26.                 for( int i = 1; i < words.Count; i++ ) {
  27.                     if( words[ 0 ].Value != words[ i ].Value && Regex.IsMatch( words[ i ].Value, "^(z|yz|xyz)$", RegexOptions.IgnoreCase ) ) {
  28.                         output += words[ i ] + " ";
  29.                     }
  30.                 }
  31.                 return output;
  32.             } else {
  33.                 Console.WriteLine( "Нужно ввести больше 1 слова" );
  34.                 return "";
  35.             }
  36.         }
  37.  
  38.  
  39.     }
  40.  
  41. }

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


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

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

13   голосов , оценка 3.846 из 5

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

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

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