Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 02:03   #1
Wild_klas
Форумчанин
 
Аватар для Wild_klas
 
Регистрация: 13.10.2010
Сообщений: 109
По умолчанию Работа со сточками.

Здравствуйте. Вопрос заключается в следующем:
Дано строки S и S0. Удалить из строки S все подстроки, совпадающие
с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

Подскажите пожалуйста как это решить, а то я совсем запутался..
Учусь учиться.
Wild_klas вне форума Ответить с цитированием
Старый 05.11.2010, 02:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а что, язык программирования указывать уже не модно?
Вам на чём решение то нужно?

на Pascal/Delphi это может быть сделано, например, так:
Код:
while Pos(S0, S)>0 do 
   Delete(S, Pos(S0, S), Length(S0));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.11.2010, 08:57   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а что, язык программирования указывать уже не модно?
А зачем? Если каждый из нас по языку сбросится автор сможет защитить диссертацию на тему "Сравнительная характеристика методов решения задачи"
Вот и от меня пять копеек, ща кто нить на СиШарпе, потом на Брайнфаке напишет.
Код:
MODULE Строки;
IMPORT StdLog,Strings;

PROCEDURE Обработать*(s:ARRAY OF CHAR;s0:ARRAY OF CHAR);
VAR i,ln:INTEGER;
BEGIN
 StdLog.Clear;
 ln:=0;i:=0;
 WHILE (ln<LEN(s0))&(s0[ln]#CHR(0)) DO INC(ln); END;
 Strings.Find(s,s0,0,i);
 WHILE (i#-1) DO
  Strings.Replace(s,i,3,''); 
  Strings.Find(s,s0,0,i);
 END;
 StdLog.String(s);
END Обработать;

END Строки.
"Строки.Обработать('Мио мой Мио','Мио')";
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2010, 11:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, на C# это выглядит даже проще, чем на Delphi
Код:
            string S, S0;
            Console.WriteLine("Input S:");
            S = Console.ReadLine();
            Console.WriteLine("Input S0:");
            S0 = Console.ReadLine();
            
            // А вот, собственно, и строчка обработки! Одна!
            S = S.Replace(S0, "");
            
            Console.WriteLine("S now : "+S+"\n");
            
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.11.2010, 13:33   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ха!. Та если в таких мощных языках ужимки делать то весь код вообще будет выглядеть как
Код:
Console.WriteLine(Console.ReadLine().Replace(Console.ReadLine(),""));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2010, 21:11   #6
Wild_klas
Форумчанин
 
Аватар для Wild_klas
 
Регистрация: 13.10.2010
Сообщений: 109
По умолчанию

Язык паскаль, извините, забыл указать. Всём спасибо, я уже сделал.
Код:
program Project1;

{$APPTYPE CONSOLE}


uses
  SysUtils;

var s,s0: string;
r: char;
n,i,n1: integer;
begin
  write('Input string: ');
  readln(s);
  write('Input substring: ');
  readln(s0);
   n1:=pos(s0,s);
    if n1=0 then write('No coincident string ');
while n1>0 do
begin
delete(s,n1,length(s0));
n1:=pos(s0,s);
end;
 Write('New string: ',s);
  readln;
end.
Учусь учиться.
Wild_klas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00