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

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

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

2 страниц V < 1 2  
Closed Topic Открыть новую тему 
> Найти в исходном символьном массиые слово РАК ...
сообщение
Сообщение #21


Perl. Just code it!
******

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

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


Цитата
Да и вообще с pos, delete ... плохо знакома. И поэтому сама программа не так понятна


goto FAQ : Строки. blum.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Perl. Just code it!
******

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

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


вот так лучше ?

uses crt;
const
fish : array [0..3] of char = ('щ','у','к','а');
limits = [#0..#32,'.',',','!','?',':','"'];

var

s : array[1..80] of char;
n,i,j : byte;

begin

clrscr;

write('n='); readln(n); // количество элементов в массиве

FillChar(s, sizeof(s),0);

for i := 1 to n do readln(s[i]); // посимвольный ввод строки

writeln;

for i := 1 to n do write(s[i]); // вывод строки на экран

{$r-} // отключение проверки выхода за границы массива
i := 1;

while(i<=length(s)-2) do begin (* внешний цикл до момента достижения
i = length(s) -2, так как это последнй шанс когда там может находиться слово РАК *)
while(i<=length(s)-2) and (s[i] in limits)
do inc(i); // проходим по массиву пока не найдем букву

if (i<=length(s)-2) and (s[i] = 'р') and (s[i+1]='а') and (s[i+2]='к') and (s[i+3] in limits) then begin
(* Если начиная с найденной буквы следует слово РАК и за ним следует НЕ буква или оно стоит в конце массива,
то сдвигаем все символы на один элемент вправо и
начиная с символа хранащего букву Р слова РАК вставляем слово ЩУКА
*)
for j := n + 1 downto i do s[j] := s[j-1];
for j := 0 to 3 do
s[i+j] := fish[j];
inc(i,4); // проскакивае далее по массиву через добавленое слово ЩУКА
inc(n); (* длина массива увеличилась на единицу, так как щука длинее рака на один символ smile.gif)
*)
end
(* Если найденная группа букв НЕ слово рак с пробелом до и после него или
стоящее в конце строки, то идем по массиву дальше пока не закончится этот набор букв или строка
*)
else repeat
inc(i);
until (s[i] in limits) or (i=length(s)-2);
end;

writeln;

for i := 1 to n do write(s[i]); // выводм результат на экран.

readln
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Ищущий истину
******

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

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


const
r='rak';
h='hyka';
var

s: string;
begin
writeln('Enter string: ');
readln(s);
while pos(r,s)<>0 do begin
insert(h,s,pos(r,s));
delete(s,pos(r,s),3);
end;
writeln(s); readln
end.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Perl. Just code it!
******

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

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


Олег !!! Ухаха, надо символьный массив использовать !!! Задание читал ? lol.gif good.gif blum.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Ищущий истину
******

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

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


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

у меня скомпилилось и сработало так:

Program Kursovik;
{$R+}
const
r='rak';
h='hyka';
var

s: string;
c:array[1..5] of char;
begin
c[1]:='r';
c[2]:='a';
c[3]:='k';
c[4]:='1';
c[5]:='2';
s:=c;
writeln('Enter string: ');
{ readln(s);}
while pos(r,s)<>0 do begin
insert(h,s,pos(r,s));
delete(s,pos(r,s),3);
end;
writeln(s); readln
end.



--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Perl. Just code it!
******

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

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


из строки rak12 должна получиться строка rak12


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Ищущий истину
******

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

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


Цитата
Найти в исходном символьном массиые слово РАК и заменить его в результирующем массиве словом ЩУКА без потери символов

Цитата
из строки rak12 должна получиться строка rak12

исходя из условия должно быть hyka12
ибо нигде не сказанно что слова долдны чем то разделятся (ты на это типа намекнул )

вобщем если каша в теме будет продолжаться, она будет закрыта, из-за отсутствия темы обсуждения как таковой!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Perl. Just code it!
******

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

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


Э-эх, ну ладно, понеслась!
это что : http://forum.pascal.net.ru/index.php?showt...indpost&p=51619

+

Цитата(Анна)
Не учёл условия, что если к примеру вводить "ракрак", то результатом должно быть "ракрак". Нужно СЛОВО (отдельностоящее) заменить (т.е. нужно чтобы слева и справа от слова небыло букв, а были только либо знаки, либо пробел)
Вот в той программе это учитывается, при вводе "ракрак" или "ракапавпк" результатом эти строки и остаются.


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Гость






mad.gif Сколько еще вариантов решения надо предложить, чтобы это НАКОНЕЦ-ТО устроило автора темы???
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Ищущий истину
******

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

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


Цитата
Сколько еще вариантов решения надо предложить, чтобы это НАКОНЕЦ-ТО устроило автора темы???
4.gif
Уже предложенно порядочно что бы удовлетворить всех и все...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #31


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

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


Давайте не будем ругаться. Я вообще не просила писать мне программу, я выложила свою программу и алгоритм на ваш суд.

А тему закрывать не надо. Ещё может будет обсуждение самого алгоритма.

Сообщение отредактировано: Анна -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Гость






Цитата
Ещё может будет обсуждение самого алгоритма.

Правда? А зачем? Чтобы тебе написали еще 3-4 версии, а ты сказала, "Я не просила мне ничего писать, я хотела только пообсуждать"? Спасибо, второй раз такой вариант не проходит...

Кроме этого, я бы порекомендовал разобраться с терминологией. Что есть Алгоритм? Этот твой рисунок? Ха... Тогда что есть блок-схема этого самого алгоритма? Так вот в этом и есть вся проблема: сначала надо было придумать АЛГОРИТМ (словесное описание процесса решения задачи), и пообсуждать его, если тебе очень этого хотелось. А теперь обсуждать нечего, ты всем навязала свой способ решения. Ну, так пользуйся.
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 24.12.2024 0:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name