Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переворот строки 
:(
    Опции темы
Gloomber
Дата 1.5.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 28.4.2006
Где: Moscow

Репутация: нет
Всего: нет



Как выполнить переворот строки(записать наоборот) на её же месте в памяти smile    
PM MAIL ICQ   Вверх
e-moe
Дата 1.5.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 3.8.2004
Где: Украина, Донецк

Репутация: нет
Всего: 4



цикл от 1го элемента до середины и меняешь элементы с индесом <i>, <n-i> (только надо учитывать нумерацию с нуля, единицы...) 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 2.5.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Код

var
  s: string;
  i: integer;
  ch: char;
begin
  ReadLn(s);
  for i := 1 to Length(s) div 2 do
  begin
    ch := s[i];
    s[i] := s[Length(s) - i + 1];
    s[Length(s) - i + 1] := ch;
  end;
  WriteLn(s);
  ReadLn;
 
PM MAIL   Вверх
Linus
Дата 15.8.2006, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.8.2006
Где: Украина

Репутация: нет
Всего: 4



Или рекурсивно:


Код

function inverse(s:string) : string;
var ch : char;
begin
    ch := s[1];
    delete(s, 1, 1);
    if length(s) >1 then inverse := inverse(s) + ch else inverse := s + ch;
end;

PM MAIL ICQ   Вверх
SiNaC0m
Дата 20.9.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 20.9.2006
Где: Tyumen

Репутация: нет
Всего: нет



А вот мой вариант

Код

uses wincrt;
var n,i : integer;
    c,b :array[1..10] of char;
begin
writeln('Vvedite dlinu slova');
readln(n);
for i:=1 to n do
read(c[i]);
for i:=1 to n do
begin
b[i]:=c[n-i+1];
end;
writeln(b);
end.




Это сообщение отредактировал(а) SiNaC0m - 20.9.2006, 00:19
PM MAIL WWW ICQ   Вверх
Snowy
Дата 20.9.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



SiNaC0m, спасиба, посмеялся smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.