|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.10.2008, 20:14 | #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. |
26.10.2008, 23:37 | #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
Надо бы избавиться от привычки ставить многоточие.....
|
27.10.2008, 15:15 | #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; - что не есть полным решением задачи |
27.10.2008, 19:21 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
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 |