Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2007, 19:28   #1
_ares_
Пользователь
 
Регистрация: 12.11.2007
Сообщений: 31
Смущение Как поменять строки в текстовом файле местами

Как поменять в текстовом файле такого рода
.-
-...
.--
--.
-..
.
...-
--..
..
.---
-.-
первую строку с последней, а вторую с прдпоследней и т.д.
{алгоритм не прет как надо(((}
for i:=1 to length(st) do begin
mas[i]:=st[i]; end;

for i:=1 to length(st) div 2 do
begin
tmp:=mas[i];
mas[i]:=mas[length(st)-i-1];
mas[length(st)-i-1]:=tmp;
end;
//где у меня st- строка символов, а mas-массив из этих строк.
_ares_ вне форума Ответить с цитированием
Старый 12.11.2007, 19:36   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Запоминаем первую строку в переменной. Копируем последнюю на место первой. Записываем строку из переменной на место последней. И так далее.
А при чем тут цикл по символам?
Вроде работать надо только со строками?

Последний раз редактировалось mihali4; 12.11.2007 в 21:25.
mihali4 вне форума Ответить с цитированием
Старый 12.11.2007, 20:24   #3
_ares_
Пользователь
 
Регистрация: 12.11.2007
Сообщений: 31
По умолчанию

А в этом цикле работа идет по символам, а не по строкам. Так наверное легче.А copy как должна бать организована? Писани плиз.

Цитата:
Сообщение от _ares_ Посмотреть сообщение
А в этом цикле работа идет по символам, а не по строкам. Так наверное легче.А copy как должна бать организована?
Писани плиз.
Как организовать работу copy именно со строками?
_ares_ вне форума Ответить с цитированием
Старый 12.11.2007, 21:01   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

допустим у тебя есть массив строк (mas) и количество элементов в нём (L), тогда
Код:
for i:=1 to L div 2  do
 begin
  tmp:=mas[i]; 
  mas[i]:=mas[L-i+1];
  mas[L-i+1]:=tmp;
 end;

Последний раз редактировалось rpy3uH; 12.11.2007 в 21:05.
rpy3uH вне форума Ответить с цитированием
Старый 12.11.2007, 22:12   #5
_ares_
Пользователь
 
Регистрация: 12.11.2007
Сообщений: 31
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
допустим у тебя есть массив строк (mas) и количество элементов в нём (L), тогда
Код:
for i:=1 to L div 2  do
 begin
  tmp:=mas[i]; 
  mas[i]:=mas[L-i+1];
  mas[L-i+1]:=tmp;
 end;
Да в России то главная беда не олигофрены а глупцы. Аты все перепутал
_ares_ вне форума Ответить с цитированием
Старый 12.11.2007, 22:18   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от _ares_ Посмотреть сообщение
Да в России то главная беда не олигофрены а глупцы. Аты все перепутал
Получить готовый оптимальный ответ на свой вопрос и сказать такое...
Ах ну да, ты же не глупец, ты - олигофрен.
Хохол, что ли?
mihali4 вне форума Ответить с цитированием
Старый 13.11.2007, 00:35   #7
Abbatik
Форумчанин
 
Аватар для Abbatik
 
Регистрация: 11.11.2007
Сообщений: 136
По умолчанию

Берешь текстовый файл.
Заносишь его в массив строк.
mas-массив
l-количество элементов.

...
for i:=1 to (l div 2) do begin
st:=mas[i];
mas[i]:=mas[l-i];
mas[l-i]:=st;
end;
...
st-левая string'овая переменная
ICQ - 446037211
Abbatik вне форума Ответить с цитированием
Старый 13.11.2007, 01:15   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Abbatik Посмотреть сообщение
Берешь текстовый файл.
Заносишь его в массив строк.
mas-массив
l-количество элементов.

...
for i:=1 to (l div 2) do begin
st:=mas[i];
mas[i]:=mas[l-i];
mas[l-i]:=st;
end;
...
st-левая string'овая переменная
Грузин уже дал правильный вариант.
А у вас маленький недочет - вы не обрабатываете самую последнюю строку.
mihali4 вне форума Ответить с цитированием
Старый 13.11.2007, 02:14   #9
Abbatik
Форумчанин
 
Аватар для Abbatik
 
Регистрация: 11.11.2007
Сообщений: 136
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Грузин уже дал правильный вариант.
А у вас маленький недочет - вы не обрабатываете самую последнюю строку.
Ну извини не увидел
ICQ - 446037211
Abbatik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять строки местами? ar. Microsoft Office Word 1 05.09.2008 11:36
поменять местами столбцы veter_s_morya SQL, базы данных 4 29.06.2008 13:36
Поменять местами две половины массива, сохраняя их порядок. Леди Уинтер Помощь студентам 11 09.01.2008 09:21
Поменять местами строки в memo Бублик Помощь студентам 5 18.11.2007 15:27