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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2008, 02:55   #1
DJ Kost
Пользователь
 
Регистрация: 10.10.2008
Сообщений: 19
По умолчанию Задачка на тему Строковый тип данных

Вот собственно и задачка

Вводится строка. Все встречающиеся в ней буквы A переставить сразу после первой буквы B (или в конец строки, если буквы B в ней нет).

Проблема собственно гдето в коде и я найти ее не могу у меня не переставляет в введенной строке буквы А после первой буквы В (или в конец строки, если буквы B в ней нет). а наобарот буквы А удаляються подскажите где я ошибся и как правильно нада написать, вот код


var s,str:string;
i,count:integer;


begin
s:=edit1.Text;
count:=0;
i:=0;

while i<=length(s) do
begin
if s[i]='A' then
begin
Inc(Count);
Delete(s,i,1);
end
else
inc(i);
end;
Label1.Caption:=s;
for i:=1 to count do
Str:=str+'A';

end;

end.

Последний раз редактировалось DJ Kost; 24.11.2008 в 02:58.
DJ Kost вне форума Ответить с цитированием
Старый 24.11.2008, 09:29   #2
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

дописать поиск первой буквы B.
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 24.11.2008, 10:36   #3
DJ Kost
Пользователь
 
Регистрация: 10.10.2008
Сообщений: 19
По умолчанию

и как это сделать
DJ Kost вне форума Ответить с цитированием
Старый 24.11.2008, 10:38   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от DJ Kost Посмотреть сообщение
и как это сделать
Используйте функцию pos и почитайте повнимательнее хелп по ней
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 24.11.2008, 10:56   #5
DJ Kost
Пользователь
 
Регистрация: 10.10.2008
Сообщений: 19
По умолчанию

тоесть в var это дописать Pos(Substr: string; S: string): Integer;

и вот что я в хелпе нашол

var S: string;

begin
S := ' 123.5';
{ Convert spaces to zeros }
while Pos(' ', S) > 0 do
S[Pos(' ', S)] := '0';
end;

но не очень предстовляю как его в мой код запихать

Последний раз редактировалось DJ Kost; 24.11.2008 в 10:58.
DJ Kost вне форума Ответить с цитированием
Старый 24.11.2008, 14:46   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

'а','б' русские буквы
Код:
procedure TForm1.Button1Click(Sender: TObject);
var S:string;
    i,k:integer;
begin
 S:=Edit1.Text;
 k:=0;
 while Pos('а',S)>0 do
  begin
   Delete(S,Pos('а',S),1);
   inc(k);
  end;
 if Pos('в',S)>0 then
   for i:=1 to k do Insert('а',S,Pos('в',S)+1)
  else for i:=1 to k do S:=S+'а';
  Edit1.Text:=S;
end;
SERG1980 вне форума Ответить с цитированием
Старый 24.11.2008, 14:50   #7
DJ Kost
Пользователь
 
Регистрация: 10.10.2008
Сообщений: 19
По умолчанию

в задачке А и Б английские =)
DJ Kost вне форума Ответить с цитированием
Старый 24.11.2008, 15:05   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от DJ Kost Посмотреть сообщение
в задачке А и Б английские =)
Ну и кто Вам мешает вместо 'а' и 'в' русских поставить 'A' и 'B' буржуйские
Код:
procedure TForm1.Button1Click(Sender: TObject);
var S:string;
    i,k:integer;
begin
 S:=Edit1.Text;
 k:=0;
 while Pos('A',S)>0 do
  begin
   Delete(S,Pos('A',S),1);
   inc(k);
  end;
 if Pos('B',S)>0 then
   for i:=1 to k do Insert('A',S,Pos('B',S)+1)
  else for i:=1 to k do S:=S+'A';
  Edit1.Text:=S;
end;
А ещё лучше оформите этот код в виде функции с паарметрами :строка, символ1,символ2
SERG1980 вне форума Ответить с цитированием
Старый 24.11.2008, 15:53   #9
DJ Kost
Пользователь
 
Регистрация: 10.10.2008
Сообщений: 19
По умолчанию

ой спасибо огромное вы уже не раз меня выручаете с задачками =)))))

Последний раз редактировалось DJ Kost; 24.11.2008 в 16:50.
DJ Kost вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55
Помогите решить задачу в паскале на строковый тип valis Помощь студентам 3 29.09.2008 14:54
Тип базы данных Dux БД в Delphi 7 23.04.2008 17:56
символьный и строковый тип. ribka Помощь студентам 4 02.12.2007 13:25