![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 13.10.2008
Сообщений: 3
|
![]()
Вот встал в ступор с данной задачей : Вводится строка. Добавить ей в начало и в конец минимально возможное одинаковое количество букв A, чтобы ее длина стала как минимум в 2 раза больше.
Как я понел , сначало надо подсчитать колличество символов , затем разделить их на два и прибавить это число букв А в начало и конец строки Ничтожная часть кода : var s:string; i,count:integer; f:extended; begin s:=edit1.Text; count:=0; for i:=1 to length(S) do inc(count); //(узнали колличество символов в строке) begin count:=(trunc(count/2)+1-2*ord(count<0)); как теперь заменить count на A? Последний раз редактировалось fadea; 26.10.2008 в 21:15. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
var s:string;
len:integer; begin s:=edit1.Text; len:=s.length; while (s.length<len*2) s:='A'+s+'A'; edit1.Text:=s
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 13.10.2008
Сообщений: 3
|
![]()
Спасибо , уже жумал останавливаться на :
var l,i:integer; begin l:=length(edit1.text); for i:=0 to (l div 2) do edit1.text:='A'+edit1.text; for i:=0 to (l div 2) do edit1.text:=edit1.text+'A'; end; - что не есть полным решением задачи |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]()
r:=length(s)*2;
while length(s) < r do s:='A'+s+'A';
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема | eldar | Работа с сетью в Delphi | 12 | 05.10.2008 18:10 |
Проблема. | kupulau | Общие вопросы C/C++ | 19 | 05.02.2008 21:11 |
проблема | bill | Свободное общение | 7 | 08.07.2007 21:05 |