0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
1

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

13.12.2013, 12:53. Показов 1093. Ответов 1
Метки нет (Все метки)

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

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
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main ()
{
 int i, j;
 char s1[256], s2[256];
 cout<<"2 stroki";
 cout<<"\n";
 gets (s1);
 gets (s2);
 for (i=0; i<strlen(s2); i++)
 {
   for (j=0; j<strlen(s1); j++)
    {
      if (s1[j]==s2[i])
       {
     i=j;
    break;
       }
     }
     if (i!=j) {
      cout<<"FAIL"<<endl;  
      cout<<"\n";
      return 0;
     }
   }
   cout<<"OK"; 
   cout<<"\n";
   return 0;
  fflush (stdin);
 }
Программа работает, НО не для всех случаев
Например:
1 строка: 123_45__67_8
2 строка: 34_5
Подскажите, пожалуйста, как подправить программу, чтобы она правильно работала для этого случая с пробелами
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2013, 12:53
Ответы с готовыми решениями:

Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов
Ребят помогите пожалуста) Даны две строки st1 и st2. Выяснить можо ли из строки st1 сделать строку...

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

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

Получить 2 строку из 1 путем вычеркивания символов
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем...

1
Комп_Оратор)
Эксперт по математике/физике
8758 / 4500 / 605
Регистрация: 04.12.2011
Сообщений: 13,428
Записей в блоге: 16
14.12.2013, 00:00 2
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
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
string targe_str = "123_45__67_8";
string candidate_str = "3_5";// эту найдёт
 
//string candidate_str = "34_5";// эту НЕ найдёт (а-ну, попробуйте, что-то вычеркнуть из targe_str
// и получить 34_5, подчёркивания между 4 и 5 не удастся получить никакими ухищрениями))
 
//идея:
//ищем по-символьно каждый символ из candidate_str в копии targe_str и убеждаемся, что 
// 1. Он там есть
// 
// 2. Номер каждой следующей находки больше номера предыдущей (решаем инициализацией нач. зн. счётчика)
int found_pos = 0;
 
int is_present;
for( size_t i = 0; i < candidate_str.size(); ++i ){
is_present = 0;
for( size_t j = found_pos; j < targe_str.size(); ++j ){
 
    if(targe_str[j] == candidate_str[i]){
 
        found_pos = j+1;
is_present = 1;
break;
    }
    }
if(!is_present) break;
}
cout<<endl;
if(is_present) cout << "Есть все" << endl;
else
cout << "Что-то не так" << endl;
 
cout<<endl;
system("pause");
return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2013, 00:00
Помогаю со студенческими работами здесь

Скопировать строку st1 в строку st2 поместив вместо букв десятичный код символа
Скопировать строку st1 в строку st2(состоит из латинских букв и цифр) поместив вместо букв...

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru