Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 30.09.2019
Сообщений: 104

Найти все индексы вхождения элементов второй строки в первую строку

18.11.2019, 12:58. Показов 7666. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте форумчане!
Мне требуется найти все индексы вхождения элементов 2 строки в 1 строку.

Я сделал так и выводит что-то непонятное.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "pch.h"
#include <iostream>
#include <string>
#include <cstring>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    string str1 = { "lc tr ab" };
    string str2 = { "it ab" };
 
    cout << strcspn(str1.c_str(), str2.c_str()) << endl;
return 0;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2019, 12:58
Ответы с готовыми решениями:

Поиск позиции первого вхождения в первую строку какого-либо символа из второй строки
Написать метод, входными параметрами которого являются две строки. Метод должен возвращать позицию первого вхождения в первую строку...

позиции вхождения второй строки в первую
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; int main(int argc, char* argv) { char str; char substr; ...

Удаление первого вхождения второй строки в первую
Даны две строки. Удалить в первой строке первое вхождение второй строки. Мои наработки: import java.util.Scanner; public class Main {...

13
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
18.11.2019, 15:03
strstr в цикле не устроит?
0
0 / 0 / 0
Регистрация: 30.09.2019
Сообщений: 104
18.11.2019, 15:36  [ТС]
COKPOWEHEU, а можно по подробнее это как?
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
18.11.2019, 16:28
Лучший ответ Сообщение было отмечено L_Legioner как решение

Решение

Цитата Сообщение от L_Legioner Посмотреть сообщение
индексы вхождения элементов 2 строки в 1 строку.
Похоже, я сначала неправильно прочитал условие. Предполагается найти индексы всех символов, которые входят как с строку 1, так и в строку 2?
То есть для str1="123abc321def" , str2="1122" должно получиться 0, 1, 7, 8 ?
Если так, то можно просто перебрать все элементы первой строки на наличие во второй и, если нашлось, выставить в соответствующей ячейке другого массива флажок. Потом пройтись по массиву флажков и вывести их индексы взведенных.
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
18.11.2019, 23:55
L_Legioner, обычно в задачах требуется найти позиции (номера), а не индексы - уточните что именно Вам нужно найти. когда уточните - сообщите.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
19.11.2019, 09:48
Yetty, а в чем разница между индексом в массиве и номером?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2019, 13:35
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
в чем разница между индексом в массиве и номером?
number=index+1
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
19.11.2019, 14:30
Это не та разница, на которую стоит обращать внимание
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2019, 15:35
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это не та разница, на которую стоит обращать внимание
это только Ваша точка зрения. проверяющая система такой ответ не засчитает как правильный.
0
0 / 0 / 0
Регистрация: 30.09.2019
Сообщений: 104
19.11.2019, 15:41  [ТС]
Yetty, нет требуется именно индекс, хотя не вижу разницы между индексом и позицией (номером)
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
19.11.2019, 15:49
Yetty, про проверяющую систему речи пока не было, а изменение начала нумерации с 0 на 1 слишком простая задача, чтобы делать на ней такой акцент.
L_Legioner, прошел почти день, каковы ваши успехи в решении?
0
0 / 0 / 0
Регистрация: 30.09.2019
Сообщений: 104
19.11.2019, 15:54  [ТС]
COKPOWEHEU, занят был весь день) сейчас вот сел. В процессе пока)
Вот что пока добавил, но думаю это не то
На первую строку ругается
C++
1
2
3
4
5
6
for (int i = 0; i < (str1.length || str2.length); i++) {
        if (str1[i] == str2[i]) {
            flag++;
        }
    }
    cout << flag;
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2019, 16:11
Лучший ответ Сообщение было отмечено L_Legioner как решение

Решение

Цитата Сообщение от L_Legioner Посмотреть сообщение
не вижу разницы между индексом и позицией (номером)
уже сообщал
Цитата Сообщение от Yetty Посмотреть сообщение
number=index+1
например для строки str1 = { "lc tr ab" }
индексы: 0,1,2,3,4,5,6,7
позиции: 1,2,3,4,5,6,7,8

если нужны индексы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string> 
using namespace std;
 
int main()
{    
    string s1 = { "lc tr ab" };
    string s2 = { "it ab" };
    
    for (size_t i = 0; i < s1.size(); i++)
       for (size_t j = 0; j < s2.size(); j++)
           if (s1[i]==s2[j]) {cout << i << " ";break;}
           
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 30.09.2019
Сообщений: 104
19.11.2019, 16:18  [ТС]
Yetty, про индексы и позиции понял. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2019, 16:18
Помогаю со студенческими работами здесь

Ввести с экрана строку и подстроку. Найти все вхождения подстроки в строку и удалить их из исходной строки
Ввести с экрана строку и подстроку. Найти все вхождения подстроки в строку и удалить их из исходной строки.

Найти все вхождения строки T в строку S
Найти все вхождения строки T в строку S. Формат входных данных В первой строке входного файла записана строка S, во второй строке...

Программа проверяет наличие вхождения второй введенной строки в первую
Программа проверяет наличие вхождения второй введенной строки в первую---&gt;.:read: Заранее спасибо

Текстовые файлы: в первую строку вставить первую гласную из второй строки, после каждой согласной в первой
1-в первую строку вставить первую гласную из второй строки, после каждой согласной в первой (строки записаны в файле, туда же и сохранить) ...

Есть две строки, после каждого вхождения определенного символа, в первую строку вставить вторую строку
&lt;script&gt; var s=&quot;dndcddcn&quot;; s0=&quot;ddf&quot;; for(var i=0;i&lt;s.length();i++) { s=s+s; if (s=n) s=s+s0; } ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru