IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Расположить символы, в определенной последовательности
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Может я пишу не в тот раздел, но мне срочно надо написать программу.

Дана последовательность букв и цифр (8 символов). Их нужно расположить следующим образом:
Допустим мы ввели следующую комбинацию:
0d321311
Нам надо преобразовать её вот так:
1113320d

То есть мы берем исходный код, меняем местами по четыре цифры(13110d32), записываем их наоборот(113123d0),и меняем в кождой паре числа местами(1113320d).

Помогите написать эту прогу, а то моих знаний для этого не хватает.
Заранее благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Цитата
но мне срочно надо написать программу.

Ну если писать программу, то точно не туда...
Цитата
а то моих знаний для этого не хватает.

Пополняем знания: Строки FAQ


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Смотреть, только после прочтения ссылки smile.gif (касается только minkod)
procedure inverse(var s:string);
var i:byte; temp:string;
begin
temp:='';
for i:=length(s) downto 1 do
temp:=temp+s[i];
s:=temp;
end;

var s,temp1,temp2:string; ch:char;
i:byte;
begin
writeln('Enter string');
readln(s);
temp1:=copy(s,1,4);
temp2:=copy(s,5,4);
inverse(temp1);
inverse(temp2);
s:=temp2+temp1;
for i:=1 to length(s) do
if (i mod 2)=0 then
begin
ch:=s[i];
s[i]:=s[i-1];
s[i-1]:=ch;
end;
writeln(s);
readln;
end.


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Спасибо за помощь. FAQ почитал(узнал много нового).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Bokul, можно вопрос?

Зачем ты делаешь
begin
ch:=s[i];
s[i]:=s[i-1];
s[i-1]:=ch;
end;
, если у тебя уже есть Inverse? (Попутно: почему Inverse - процедура, а не функция? smile.gif )

Смотри, что получилось:

function inverse(s: string): string;
var i: byte; temp: string;
begin
temp:='';
for i:=length(s) downto 1 do
temp:=temp+s[i];
inverse:=temp;
end;

var
s, sr: string;
i:byte;
begin
writeln('Enter string'); readln(s);
sr := '';

s := inverse(copy(s,5,4)) + inverse(copy(s,1,4));
for i:=1 to length(s) do
if (i mod 2) = 0 then sr := sr + inverse(copy(s, i-1, 2));
writeln(sr);
readln;
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Да не знаю, первое что пришло в голову smile.gif
Цитата
Попутно: почему Inverse - процедура, а не функция?

А может и потому что Inverse зделал процедурой - натолкнуло на другое решения. rolleyes.gif
Цитата
Смотри, что получилось:

Согласен, так легче yes2.gif

Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 19.09.2017 22:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"