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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 16:44   #1
konkonych
 
Регистрация: 23.03.2009
Сообщений: 5
Вопрос Работа со строками

Помогите с решением
Дано:
Х1Х2
Х2Х3Х4
Х3Х4
и т.д. преобразуется это в
К1
К2
К3
и т.д. далее для решения:
K1
K1'K2
K1'K2'K3
а эти К преобразуются
дляK1'
X1'
X1X2'
для К2'
X2'
X2X3'
X2X3X4' и т.д., затем результаты складываются построчно.Вот.
Написал код и дальше подзастрял.Мысль есть заменить символы со штрихами на символы строчные, а остальные прописные для проверки наверное удобней будет.
// Ввод построчно
Код:
procedure TForm1.Button4Click(Sender: TObject);
 var b:string;
begin
 J:=0;
 S1:= Edit1.Text;
 S1:= trim(S1);
 S1:= S1+' ';
 b:='';
 for k := 0 to length(S1) do
 begin
  b:= copy(S1,k,1);
  if b=' ' then
  J:= J+1;
 end;
 SetLength(Ras,i+1);
 Ras[i]:= S1;
 i:=i+1;
 Memo1.Lines.Add(S1);
 SetLength(schet,s+1);
 schet[s]:=J;
 s:=s+1;
 Edit1.Clear;
 Edit1.SetFocus;
end;
// Расчет
procedure TForm1.Button1Click(Sender: TObject);
type
  TDynArr = array of string;
  var S1,S2,S3: string;
     r,t, p: integer;
  begin
  for r := 0 to Memo1.Lines.Count-1 do
  begin
  S1:=Ras[r];
  S1:=trim(S1);
  S2:='';
  S1:=S1+' ';
  while pos('  ',S1)<>0 do
    delete(S1,pos('  ',S1),1);
  while S1<>'' do begin
    p:=pos(' ',S1);
    S3:=copy(S1,1,p);
    delete(S1,1,p);
    while pos(S3,S1)<>0 do
      delete(S1,pos(S3,S1),length(S3));
      S2:=S2+S3;
       Memo2.Lines.Add(S2);
    end;
  end;
  end;

Последний раз редактировалось Stilet; 07.04.2009 в 16:47.
konkonych вне форума Ответить с цитированием
Старый 07.04.2009, 16:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то я совсем не понял задачи...
Свормировать массив последовательностей где будет увеличиваться число элементов?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.04.2009, 17:03   #3
konkonych
 
Регистрация: 23.03.2009
Сообщений: 5
По умолчанию

Нет, необходимо преобразовать строчки данных в отдельные массивы например для первой строки Х1Х2 получить массив:
х1
Х1х2
для второй строкиХ2Х3Х4 получить массив:
х2
Х2х3
Х2Х3х4
и т.д.. а затем первую строку из первого массива добавить ко всем строкам второго массива, потом вторую строку из первого массива добавить ко всем строкам второго массива и т.д.. Вот.
konkonych вне форума Ответить с цитированием
Старый 09.04.2009, 11:43   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

И всё-таки постановка задачи сформулирована неоднозначно. например строку можно рассматривать как массив символов, как организовано это в памяти, и как набор слов, как обычно это воспринимается людьми. по какому принципу преобразовуются строки в массивы то-есть массивы чего?
Всякое безобразие должно быть единообразным. Тогда это называется порядком.

Последний раз редактировалось Anatole; 09.04.2009 в 12:07.
Anatole вне форума Ответить с цитированием
Старый 09.04.2009, 15:18   #5
konkonych
 
Регистрация: 23.03.2009
Сообщений: 5
По умолчанию

Массив строк.
konkonych вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками GoAnd Общие вопросы по Java, Java SE, Kotlin 9 22.09.2010 03:36
Работа со строками. Galacticus Общие вопросы C/C++ 0 11.03.2009 16:49
С, работа со строками Надюха Помощь студентам 2 29.05.2008 13:07