Bolrand Delphi 7 Работа со строками.
И собственно задание :
1) Удалить все символы а, идущие после 1-го символа b
2) Проверить, верно ли, что в слове гласные чередуются с согласными.
Вот такая замечательная лабараторная мучает меня уже 2-ю неделю, все одногрупники делают уже 11-ю, а эта 3(. А скоро сессия. Препод на меня очень зол и помогать отказывается(. Помогите, пожалуйста кто чем может, а то слечу!
Как я понял, мне нужно занести переменные для 1-й b и всех а и проверять, если a>b то удалить а. А вот как делать 2-е вообще никаких вариантов(:confused:
Ты не правильно понял. Тебе, очевидно надо найти 1ый символ b.
гласные чередуются (01010101) с несогласными
Код смогу написать только в понедельник, т.к. он на компе в уч. заведении.:(
У нас на вц завелись, толерантно сказать, представители сексуального меньшинства, которые удаляют папки юзеров. Мою с 3 лабами удалили.
Код не помню, попозже пороюсь в тетрадке может вспомню.
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text ='')
or (Edit2.Text ='')
then
ShowMessage('Введите текст');
end;
Скажите, пожалуйста свойства/методы с помощью которых решается данная задача. И, желательно, объясните как ими пользоватся
TEdit.Text, индексация s[] символов строки
методы
Length(s), плюс Delete(s,,)
с помощью Text получаем и устанавливаем строку в окошках ввода в/из другой строки
Length(s) - определяет длину строки s
s[1],s[2]...s[Length] дает символ [N] в строке s
Delete(s,From,Count) - удаляет с позиции From Count символов из строки s
procedure TForm1.Button1Click(Sender: TObject);
var
a,i,j:integer;//a-íîìåð ñèìâîëà b
st:string;
begin
if (Edit1.Text ='')then begin
ShowMessage('Ââåäèòå òåêñò');
exit;
end;
st:=edit1.Text;
a:=pos('b',st);
if (a=0)then begin
ShowMessage('Íåò òàêîãî ñèìâîëà');
exit;
end;
for i:=a+1 to length(st) do
while (st='a') do begin
for j:=i to length(st)-1 do
st[j]:=st[j+1];
st[length(st)]:=' ';
end;
edit2.text:=st;
end;
Всё отлично работает и тд и тп вот только препод не принимает. ((
Говорит что лаба была на работу с Pos и Delete.
Как переделать?
Я пробывал но удаляет она совсем не то что нужно (некоторые символы до b).
Как пробовал-то? Смотри какой ей индекс передаешь - наверняка неверный