Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок - C#

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

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

1)Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Сформировать два новых целочисленных массива B и C одинакового размера, записав в массив B длины всех серий исходного массива, а в массив C — значения элементов, образующих эти серии. 2)Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок. 3)Дана целочисленная матрица размера M х N. Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов. Помогите пожалуйста.

Решение задачи: «Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _6_4_1
{
    class SplitTest
    {
        static void Main()
        {
            Console.WriteLine("Введите строку S\n");
            string s = Convert.ToString(Console.ReadLine());
            Console.WriteLine("\nВведите подстроку S0\n");
            string s0 = Convert.ToString(Console.ReadLine());
            string[] split = s.Split(new Char[] { ' ', ',', '.', ':', '\t' });
            string[] split1 = s0.Split(new Char[] { ' ', ',', '.', ':', '\t' });
 
            /*foreach (string razp in split)
            {
                if (razp.Trim() != "")
                    Console.WriteLine(razp);
            }
 
            foreach (string razv in split1)
            {
                if (razv.Trim() != "")
                    Console.WriteLine(razv);
            }
            */
 
            bool tf = false;
            for (int i = 0; i <= split.Length - split1.Length; i++)
            {
                for (int j = 0; j < split1.Length; j++)
                {
                    if (split1[j] == split[i + j])
                    {
                        tf = true;
                    }
                    else
                    {
                        tf = false;
                    }
                }
                if (tf)
                    break;
            }
            if (tf)
            {
                Console.WriteLine("\nСтрока S0 содержиться в строке S");
            }
            else
            {
                Console.WriteLine("\nСтрока S0 не содержиться в строке S");
            }
        }
    }
}

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


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

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

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