Ввод массива строк и поиск среди них строк, содержащих заданный строковый фрагмент - C#

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

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

Необходимо разработать консольное приложение для ввода с клавиатуры массива строк и поиска среди них строк, содержащих заданный строковый фрагмент. Для поиска потребуется использование метода IndexOf(string findThisString) для строковых элементов массива. Метод возвращает позицию начала искомой подстроки от начала строки, либо значение -1 при отсутствии соответствия. Помогите, пожалуйста, написать код на C#

Решение задачи: «Ввод массива строк и поиск среди них строк, содержащих заданный строковый фрагмент»

textual
Листинг программы
  1. class mainclass
  2. {
  3.     static void Main()
  4.     {
  5.         System.Console.WriteLine ("Вводите строки(для выхода введите пустую строку): ");
  6.         string understring = "int";
  7.  
  8.         string str = "e";
  9.         string[] arr = new string[0];
  10.         while (str.Length > 0) {
  11.             str = System.Console.ReadLine ();
  12.             string[] temp = new string[arr.Length + 1];
  13.             for (int j = 0; j < arr.Length; j++) {
  14.                 temp [j] = arr [j];
  15.             }
  16.             temp [arr.Length] = str;
  17.  
  18.             arr = new string[temp.Length];
  19.             for (int i = 0; i < temp.Length; i++) {
  20.                 arr [i] = temp [i];
  21.             }
  22.         }
  23.  
  24.         for (int i = 0; i < arr.Length; i++) {
  25.             int[] arr2 = someclass.IndexOf(arr[i], understring);
  26.             if(arr2.Length > 1)
  27.             {
  28.                 System.Console.WriteLine ("В строке '{0}' имеется подстрока {1}. Начинается в индексе {2}, заканчивается {3}.", arr [i], understring, arr2 [0], arr2 [1]);
  29.             }
  30.         }
  31.     }
  32.  
  33. }
  34.  
  35. class someclass
  36. {
  37.     public static int[] IndexOf(string str, string frag)
  38.     {
  39.         if (str.Length < frag.Length)
  40.             return new int[] { -1 };
  41.  
  42.         int j = 0;
  43.  
  44.         int x = -1, y = -1;
  45.  
  46.         for (int i = 0; i < str.Length; i++) {
  47.             if (str [i] == frag [j]) {
  48.                 if (x == -1) {
  49.                     x = i;
  50.                 }
  51.                 ++j;
  52.                 if (j == frag.Length) {
  53.                     y = i;
  54.                     break;
  55.                 }
  56.             } else {
  57.                 j = 0;
  58.                 x = y = -1;
  59.             }
  60.         }
  61.  
  62.         if (x < 0 || y < 0)
  63.             return new int[] { -1 };
  64.         return new int[] { x, y };
  65.     }
  66. }

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


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

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

15   голосов , оценка 3.6 из 5

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

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

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