Найти и сохранить в строке те слова последовательности, которые отличны от первого слова - C# (181869)
Формулировка задачи:
помогите плиз, никак не получается
Дана строка. Словом текста считается любая последовательность букв латинского
алфавита; между соседними словами - не менее одного пробела, за последним словом -
точка. Найти и сохранить в строке те слова последовательности, которые отличны от
первого слова и удовлетворяют следующему свойству: слово совпадает с конечным
отрезком латинского алфавита (z, yz, xyz,...). Все остальные слова удалить
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void main(string stroka) { stroka = stroka.Trim(); // убираем пробелы в начале и конце строки stroka = stroka.ToLower(); } static string firstWordCompare(string[] N) { string stroka = N[0]; for (int i = 1; i < N.Length; i++) // организуем цикл для перебора элементов строки { if (N[0] == N[i]) { N[i] = ""; } else stroka = stroka + " " + N[i]; } return stroka; } static string allWordCompare(string[] N) // задаем строковую функцию с параметром для преобразования строки { string stoka = ""; for (int i = 0; i < N.Length; i++) // организуем цикл для перебора элементов строки { char[] letter = N[i].ToCharArray(); if(N[i]!="") { if (letter[letter.Length-1] == 'z') { stoka += N[i]+ " "; } } } return stoka; } static void Main(string[] args) { for (int i=65;i<=90;i++) { Console.WriteLine((char)i); } Console.WriteLine("Введите строку"); string stroka; stroka = Console.ReadLine(); main(stroka); string[] N = stroka.Split(' '); stroka = firstWordCompare(N); stroka = allWordCompare(N); Console.WriteLine(stroka); Console.ReadKey(); } } }
Решение задачи: «Найти и сохранить в строке те слова последовательности, которые отличны от первого слова»
textual
Листинг программы
using System; using System.Text.RegularExpressions; namespace ConsoleApplication7 { class Program { static void Main( string[] args ) { Console.WriteLine( "Введите строку" ); var result = GetValidString( Console.ReadLine() ); Console.WriteLine( "Результат: \n{0}", result ); Console.ReadKey(); } static string GetValidString( string input ) { input = input.Trim().ToLower(); var output = ""; // заменяем 2 и больше пробелов со строки на 1, если нужно //input = Regex.Replace( input, " {2,}", "" ); // нашли все слова var words = Regex.Matches( input, "\\w+", RegexOptions.IgnoreCase ); if( words.Count > 1 ) { var firstWord = words[ 0 ].Value; for( int i = 1; i < words.Count; i++ ) { if( words[ 0 ].Value != words[ i ].Value && Regex.IsMatch( words[ i ].Value, "^(z|yz|xyz)$", RegexOptions.IgnoreCase ) ) { output += words[ i ] + " "; } } return output; } else { Console.WriteLine( "Нужно ввести больше 1 слова" ); return ""; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д