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

Получить 2 строку из 1 путем вычеркивания символов

09.12.2013, 23:25. Показов 2017. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов.

Мой ход мыслей таков: вводим строки с клавиатуры, в цикле по i и по j проверяем равны ли соответствующие символы двух строк, если не равны, то символы из строки 1 перебрасываем в 3 буферную строку, при этом уменьшая количество символов в 1 строке. Если равны, то выводим "Можно", иначе ошибка.

Помогите, пожалуйста!
Нет никаких мыслей по поводу решения....

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
#include <iostream.h>
#include <stdio.h>
#include <string.h>
 
int main()
{ int i, j;
    char str1[256], str2[256];
    printf ("Vvedite str 1:");
    gets(str1);
    printf ("Vvedite str2:");
    gets(str2);
    for(i=1; i < 256; i++)
    { 
       for (j=1; j < 256; j++)
        {
           if (str1[i]!=str2[j])
       ...
 
    }
     if (str1[i]==str2[j])
{printf ("Mozhno!")
else
{printf ("Nelzya!");
}
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2013, 23:25
Ответы с готовыми решениями:

Можно ли строку получить из другой строки путем вычеркивания некоторых символов?
Помогите, пожалуйста, решить задачку. даны две строки st1 и st2 . выяснить, можно ли строку st2 получить из строки st1 путем...

Выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов. #include...

Проверить, можно ли путём вычёркивания элементов из упорядоченного массива А получить Б
Есть два массива отсортированных массива. Нужно проверить можно ли путём вычёркивания элементов из А получить Б. СЛожность же алгоритма...

8
1 / 1 / 0
Регистрация: 09.12.2013
Сообщений: 37
09.12.2013, 23:33
Цитата Сообщение от JoHarvelle Посмотреть сообщение
при этом уменьшая количество символов в 1 строке
- расшифруй.
0
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
09.12.2013, 23:38
Наивное решение - ищем первый символ второй строки в первой,если находим ищем с этой позиции второй символ и так далее. Если дойдем до конца - значит можно.

Добавлено через 3 минуты
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
#include <iostream>
using namespace std;
int compares,swaps;
#define For(i,x,y) for(int i = x;i<y;i++)
 
int main(int argc, const char * argv[])
{
    string s1,s2;
    cin>>s1>>s2;
    int ptr = -1;
    for(int i = 0;i<s2.size();i++)
    {
        bool ok = false;
        for(int j = ptr+1;j<s1.size();j++){
            if(s1[j]==s2[i]){
                ptr=j;
                ok=true;
                break;
            }
        }
        if(!ok){
            cout<<"FAIL"<<endl;
            return 0;
        }
    }
    cout<<"OK";
    return 0;
}
0
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
09.12.2013, 23:43  [ТС]
Алгоритм таков:
Посимвольно сравниваем строки, пока элементы равны все хорошо, если не одинаковы, то удаляем элементы из 1 строки.
Как-то так?
И, я не зря тему создала.
Подскажите свой алгоритм решения.

Добавлено через 35 секунд
Спасибо, конечно. Но Ваш код мне совсем не понятен...
Можете написать немного проще?
0
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
09.12.2013, 23:46
1.i = 0
2.ptr=-1
3.Берем i-ый символ второй строки
4.Сравниваем с символами первой строки начиная от позиции ptr+1
5.Если нашли равные символы : ptr=позиция,где нашли Увеличить i Вернуться к пункту 3
6.Если не нашли - вывести,что решения нету
0
 Аватар для igorrr37
2893 / 2040 / 992
Регистрация: 21.12.2010
Сообщений: 3,790
Записей в блоге: 9
10.12.2013, 09:18
было
Можно ли строку получить из другой строки путем вычеркивания некоторых символов?
0
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
11.12.2013, 11:47  [ТС]
Если Вам будет несложно, можете объяснить данный код в лс? не совсем понятны некоторые строки

Добавлено через 17 часов 19 минут
Когда забиваю это в компилятор, он выдает "Undefined symbol "bool" " Почему?
0
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
11.12.2013, 19:06
Подключите string(std::string),а на счет bool трудно ответить. typedef int bool;Решит проблему
1
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
12.12.2013, 00:16  [ТС]
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2013, 00:16
Помогаю со студенческими работами здесь

Получить матрицу, путем вычеркивания с данной матрицы, Н-ой строки и М-го столбика
Ребят, напишите плиз прогу на с++. Условие: Получить матрицу, путем вычеркивания с данной матрицы, Н-ой строки и М-го столбика. Очень...

Выяснить, можно ли из строки str1 получить строку str2 путем перестановки символов
даны две строки str1 и str2 .Выяснить,можно ли из строки str1 получить строку str2 путем перестановки символов

Найти сколько различных трехзначных чисел можно получить из заданного числа n путем вычеркивания цифр
Задача: найти сколько различных трехзначных чисел можно получить из заданного числа n путем вычеркивания цифр? Я придумал такое: ...

Количество способов преобразования строки путём вычёркивания символов
Есть две строки Х и У, в которых содержатся только буквы латинского алфавита и цифры (длинны не превышают 30 символов).Сначала вводится 1-я...

Получить из слова а, путем вычеркивания некоторого количества букв, слово в
получить из слова а , путем вычеркивания некоторого количества букв , слово в . Отображать промежуточные этапы на экран. вот текст...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru