Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 146

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, эксперты!
Программа должна брать символ из строки, сравнивать его с символами из второй строки(вторая строка - набор символов), заменять на символы из третьей строки(вперемешку символы из второй строки), номера символов из второй и третьей строк равны. В приложении есть кусочек кода. По-моему, все верно записано и должно работать.... Помогите, пожалуйста!

Приложение:
  1. For i:=1 to b11 do
  2. begin
  3. for j:=1 to a do
  4. begin
  5. If str[j]=Code2[i] then Str[j]:=code1[i];
  6. end;
  7. end;


Zzzimm Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Zzzimm (статус: Посетитель)
Вопрос отправлен: 2 сентября 2009, 14:32
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Zzzimm!
ну так, возможна двойная замена. заменил - выходи! код должен быть как минимум где то такой

//str - это входная строка?
//code1 - строка для подмен?
//code2 - строка для поиска совпадений?
//не совсем понятно, кто за что отвечает
for j:=1 to length(Str) do //не рекомендую использовать имя str - есть такая встроенная процедура.
begin
 For i:=1 to length(Code2) do//лучше будем длину напрямую подставлять.
 begin
  If str[j]=Code2[i] then 
  begin
    Str[j]:=code1[i]; 
    break; 
  end;
 end;
 end;

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 2 сентября 2009, 14:42


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 2 сентября 2009, 15:43; участников в обсуждении: 1.
Егор

Егор (статус: 10-ый класс), 2 сентября 2009, 15:43 [#1]:

Что-то я не понял нифига, что сделать надо. Примерчик бы - типа, есть строки "abcde", "fghi" и "qwerty". Надо получить "asdfg".
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:00
Выполнено за 0.03 сек.