Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите со строками... Delphi 7 
:(
    Опции темы
Denwer
Дата 14.1.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



Есть слова в Memo1.  
Нужно преобразовать таким образом чтобы
остались в словах только первые вхождения каждой буквы;
Результат вывести в Memo2.

Например такие слова (azzzzzzzz, azzbbzzzzaaaa, aaaaabbbbbb)
должно вывести az, azb, ab.

PM WWW   Вверх
source777
Дата 14.1.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Ну, и в чём проблема, где твой код?


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
tommy256
Дата 14.1.2008, 21:38 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



Если следующий символ равен предыдущему, то ты его не пишешь, иначе ты записываешь в новую строку   smile 
PM MAIL ICQ   Вверх
Denwer
Дата 14.1.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



Вот код, который был предназначен для того чтобы пройтись по мемо и вывести слова повторяющиеся только по одному разу.
Я там добалил пару строк, не дело не в этом.
Он выводит буквы в столбик, вот в чём беда.



Код

 for j:=0 to Memo1.Lines.Count - 1 do
 begin
 s := Memo1.Lines[j];
 n := 0;
 for i := 0 to Length(s) - 1 do
  begin
   for k := i + 1 to Length(s) - 1 do
   if s[i] = s[k] then Inc(n);
   if n = 0 then Memo2.Lines.Add(s[i]);
  n := 0;
  end;
end;



Это сообщение отредактировал(а) Denwer - 14.1.2008, 22:20
PM WWW   Вверх
tommy256
Дата 14.1.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



в отдельную переменную записывай s2:=' '; s2:=s2+s[i] а потом только аж пишешь Memo2.Lines.Add(s2)

Ты получается записывал по одному символу в строку, и получась как бы таблица smile

Это сообщение отредактировал(а) tommy256 - 14.1.2008, 22:38
PM MAIL ICQ   Вверх
Denwer
Дата 14.1.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



Блин, не хочет... 
PM WWW   Вверх
tommy256
Дата 14.1.2008, 23:39 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



Ну попробуй так: 
Код

for j:=0 to Memo1.Lines.Count - 1 do
begin
 s:=Memo1.Lines[j]
S2:=s[1];          // другой переменне присваивается первый символ
if s[j+2] <> s[j+3] then S2:=S2+s[j+3]; 
   // если следующий символ не равен предыдущему то записываем его в переменную S2
if s[j+3] = s[0] then Memo2.Lines.Add(S2); // проверяем не является ли текущий символом последним, если - да , то записываем в Мемо2
end;

PM MAIL ICQ   Вверх
Denwer
Дата 15.1.2008, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



Буду пробовать... Алгоритм интересный
Эта задача как бы требует вывести
из слова все неповторяющиеся буквы, и так можно сказать.

PM WWW   Вверх
tommy256
Дата 15.1.2008, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



Задачи стандартные smile в Универах такое дают  smile 
PM MAIL ICQ   Вверх
Denwer
Дата 15.1.2008, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



Дело в том учусь заочно... Хрен кто что объяснит
Приходиться выживать...
PM WWW   Вверх
tommy256
Дата 15.1.2008, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



P.s учусь стационарно, фик кто что объяснит smile Тут есть люди которые в сто раз знают лучше преподов. Vingrad'y Respect smile

Сорри за  smile 
PM MAIL ICQ   Вверх
MetalFan
Дата 15.1.2008, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



можно на регулярках попробовать  smile 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1103 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.