Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3

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

30.11.2010, 15:00. Показов 4708. Ответов 11
Метки нет (Все метки)

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

Помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2010, 15:00
Ответы с готовыми решениями:

Даны строки S и S нулевое.Проверить, содержится ли строка S нулевое в строке S. Если содержится, то вывести TRUE, если не содержится, то FALSE.
Помогите с такой вот программой пожалуйста... Даны строки S и S нулевое.Проверить, содержится ли строка S нулевое в строке S. Если...

Проверить, содержится ли строка S2 в строке S1
Даны две строки: S1 и S2. Проверить, содержится ли строка S2 в строке S1. Если да, то вывести номер позиции, начиная с которой S2...

Проверить, содержится ли строка S2 в строке S1
1. Даны две строки: S1 и S2. Проверить, содержится ли строка S2 в строке S1. Если да, то вывести номер позиции, начиная с которой S2...

11
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
30.11.2010, 15:41
Цитата Сообщение от Plazzzzma Посмотреть сообщение
2)Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
char[] S=Console.ReadLine().ToCharArray();
char[] S0=Console.ReadLine().ToCharArray();
bool tf=false;
for(int i=0;i<S.Length-S0.Length;i++)
{
for(int j=0;j<S0.Length;j++)
{
if(S0[j]=S[j+i])
{
tf=true;
}
else
{
tf=false;
}
}
if(tf)
{
break;
}
}
if(tf)
{
Console.WriteLine("Содержится");
}
else
{
Console.WriteLine("Не Содержится");
}
2
54 / 54 / 23
Регистрация: 02.09.2009
Сообщений: 285
30.11.2010, 18:37
если мои глаза мне не изменяют , помимо пары вполне человечных ошибок, она просто логически неверна
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
30.11.2010, 22:08
Цитата Сообщение от freeelijah Посмотреть сообщение
если мои глаза мне не изменяют , помимо пары вполне человечных ошибок, она просто логически неверна
допустил ошибку одну человеяную в
C#
1
if (S0[j] = S[j + i])
вместо двух = написал одну

а логика правильная, работает только что проверил, если не знаешь так резко не выражайся
2
54 / 54 / 23
Регистрация: 02.09.2009
Сообщений: 285
01.12.2010, 00:49
если не знаешь так резко не выражайся
да вроде и не резко совсем. прошу прощения если обидел.

допустил ошибку одну человеяную в
ну, есть еще одна, тоже вполне человеяная, вот здесь
C#
1
for(int i=0;i<S.Length-S0.Length;i++)
должно быть <= ( на ввод, например, s = "1234" s0 = "34" выдаст не содерж). тоже у всех бывает

а на счет логики я имел ввиду вот этот участок
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
if(S0[j]=S[j+i])
{
tf=true;
}
else
{
tf=false;
}
}
if(tf)
{
break;
}
строка "193" будет содержаться в строке "1234"
1
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3
02.12.2010, 14:22  [ТС]
Спасиюо большое. А с остальными кто нить может помочь ?
0
54 / 54 / 23
Регистрация: 02.09.2009
Сообщений: 285
02.12.2010, 22:18
а в чем загвоздка? самые обычные алгоритмы вроде
0
0 / 0 / 1
Регистрация: 13.12.2010
Сообщений: 12
15.12.2010, 09:14
Цитата Сообщение от Plazzzzma Посмотреть сообщение
1)Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Сформировать два новых целочисленных массива B и C одинакового размера, записав в массив B длины всех серий исходного массива, а в массив C — значения элементов, образующих эти серии.
2)Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок.
3)Дана целочисленная матрица размера M х N. Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов.

Помогите пожалуйста.

Извините пожалуйста а вы решили эти задачи??? У меня 2 есть решенная а остальных нет... Тоже мучаюсь с ними... Если решили помогите пожалуйста)))
0
 Аватар для Mikant
1322 / 995 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
15.12.2010, 13:22
Plazzzzma, Kiro4ka_5, вместо того, чтоб по форумам лазить, лучше бы хоть 1 час попробовали сами сделать (хотя бы посидеть-подумать).. (по маленьким шагам)

зы. а у Бельфегора особых таких логических ошибок и нет, но по остальному: я бы сам себе шары отрезал, если бы такое написал
0
0 / 0 / 1
Регистрация: 13.12.2010
Сообщений: 12
22.12.2010, 12:10
Цитата Сообщение от Mikant Посмотреть сообщение
Plazzzzma, Kiro4ka_5, вместо того, чтоб по форумам лазить, лучше бы хоть 1 час попробовали сами сделать (хотя бы посидеть-подумать).. (по маленьким шагам)

зы. а у Бельфегора особых таких логических ошибок и нет, но по остальному: я бы сам себе шары отрезал, если бы такое написал

Вы думаете я не пробовала их решать??? Я месяц пытаюсь решить эти задачи
0
 Аватар для Zakaryaa
3 / 3 / 0
Регистрация: 09.12.2012
Сообщений: 39
10.12.2012, 20:47
Вроде как - то так, если вылезут ошибки пиши:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Collections.Generic;
using System.Text;
 
namespace _
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку S\n");
            char[] S = Console.ReadLine().ToCharArray();
            Console.WriteLine("\nВведите строку S0\n");
            char[] S0 = Console.ReadLine().ToCharArray();
            int range = S0.Length;
            int j = 0;
 
 
            for (int i = 0; i <= S.Length-1; i++)
            {
                if (S[i] == S0[j])
                {
                    j++;
                }
                else
                {
                    continue;
                }
                if (range == (j))
                    break;
            }
            if (range == (j))
            {
                Console.WriteLine("Строка S0 содержится в строке S");
            }
            else
            {
                Console.WriteLine("Строка S0 не содержится в строке S");
            }
        }
    }
}
Добавлено через 28 минут
Однако допустим "прв" он считает содержащейся в строке "привет", не знаете как исправить эту ошибку?
1
 Аватар для Zakaryaa
3 / 3 / 0
Регистрация: 09.12.2012
Сообщений: 39
19.12.2012, 13:45
Посмотрите новый вариант решения задачи со строками. Вроде бы всё работает. И не используется метод поиска подстроки


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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");
            }
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2012, 13:45
Помогаю со студенческими работами здесь

Проверить, содержится ли строка S2 в строке S1
Проверить, содержится ли строка S2 в строке S1. Вывести позицию в которой начинается строка s2 в строке s1. Помогите пожалуйста, всего 1...

Проверить, содержится ли строка S0 в строке S
Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести TRUE, если не содержится, то вывести FALSE. ...

Проверить, содержится ли строка S0 в строке S
2)задача:Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести True, если не содержится, то...

Проверить, содержится ли строка s2 в строке s1
Я реально не мог понять ети задачи.завтра надо сдать ( Буду очень блогодарен. Даны две строки: S1 и S2. Проверить, содержится ли строка...

Проверить, содержится ли строка S0 в строке S
дорогие друзья помогите решить задачу на С++.Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru