Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

Переворот строки   Найти похожие ветки 

 
Sergei   (2003-01-20 12:21) [0]

Здравствуйте мастера
Понимаю, что вопрос может показаться достаточно глупым,но всё же
я начинающий пользоват Pascal
Как слелать переворот строки без использования дополнительного
буфера( т.е без доп переменной, или дополнительной позиции в строке)
и возможно ли такое
Спасибо ..


 
gsu   (2003-01-20 12:23) [1]

ну уж 1 то дополнительный символ вроде быть обязан


 
app   (2003-01-20 12:28) [2]

Что задание дали в институте, иначе трудно придумать реальное применение.


 
still   (2003-01-20 12:28) [3]

можно конечно так:

for i := Length(s) downto 1 do
s := s + s[i];

s := copy (s, length(s) div 2 +1, length(s) div 2);



 
gsu   (2003-01-20 12:36) [4]

>> still ©
copy - неужели в ней не используются дополнительные источники ?


 
still   (2003-01-20 12:41) [5]

я не знаю, как устроена copy внутри.
в явном виде не используются. я так понял вопрос по паскалю, не по внутреннему устройтву компилятора и встроенных функций.


 
still   (2003-01-20 12:43) [6]

можно без copy:
delete(s, 1, length(s) div 2);


 
Foxtrot   (2003-01-20 12:45) [7]

Я думаю, что невозможно.

Вот попробуй например сложить из детских кубиков слово "неполучится" а потом не доставая кубиков и не перемещая их сделать "ястичулопен".


 
gsu   (2003-01-20 12:47) [8]

>> still © (20.01.03 12:41)
>> я не знаю, как устроена copy внутри.
посмотри

>> в явном виде не используются. я так понял вопрос по паскалю, не по внутреннему >> устройтву компилятора и встроенных функций.
тут ты, скорее всего прав


 
still   (2003-01-20 12:51) [9]


> gsu © (20.01.03 12:47)
> >> still © (20.01.03 12:41)
> >> я не знаю, как устроена copy внутри.
> посмотри

где?


 
Sergei   (2003-01-20 12:55) [10]

Все всем спасибо
Особенно Still :-))


 
gsu   (2003-01-20 12:55) [11]

н-р, system._Copy


 
still   (2003-01-20 13:00) [12]

посмотрел.
ну естественно, в итоге используется дополнительный буфер. кто бы сомневался :)


 
MBo   (2003-01-20 13:16) [13]

rocedure TForm1.Button1Click(Sender: TObject);
var s:string;
i:integer;
begin
s:="abcde";
for i:=1 to Length(s) div 2 do begin
s[i]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
s[Length(s)-i+1]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
s[i]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
end;
label1.caption:=s;
end;


 
Nikolay M.   (2003-01-20 13:19) [14]

?

var
s : string;
i : integer;
begin
s := "ABCDEFGАБВГДЕЖ";
for i := 1 to Length (s) div 2 do
begin
s[i] := Char(Byte(s[i]) + Byte(s[Length (s) - i + 1]));
s[Length (s) - i + 1] := Char(Byte(s[i]) - Byte(s[Length (s) - i + 1]));
s[i] := Char(Byte(s[i]) - Byte(s[Length (s) - i + 1]));
end;
end;


 
Nikolay M.   (2003-01-20 13:20) [15]


> MBo © (20.01.03 13:16)

На 3 минуты замешкался :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
14-96943
cc43294
2003-01-11 15:27
2003.01.30
Не в тему


1-96695
Fill
2003-01-21 20:35
2003.01.30
Кто-нибудь знает алгоритмы


6-96917
zitrol
2002-11-20 00:05
2003.01.30
Вывести ip на экран!


3-96625
Imshanya
2003-01-13 12:39
2003.01.30
Перспективы формата БД PARADOX


1-96819
Олег Лаукарт
2003-01-20 15:22
2003.01.30
Event для TCollectionItem





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский