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

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

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

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


Новичок
*

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

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


Привет всем! Люди, помогите решить следущую задачу.
Дана строка. Вывести все символы, находящиеся в скобках.
Вот программка, но почему-то не хочет работать:
Код
Program mnogo_scobok;
Uses Crt;
var
s,s1:string;
p1,p2,i:byte;
begin
    clrscr;
    write('Please, input string >');
    readln(s);
    s1:='';
    p1:=pos('(',s);
    p2:=pos(')',s);
    while (p1 and p2)<>0 do
     begin
         for i:=p1+1 to p2-1 do
            s1:=s1+s[i];
         delete(s,p1,p2-p1+1);
         p1:=pos('(',s);
         p2:=pos(')',s);
     end;
    writeln;
    writeln(s1);
    writeln;
    writeln('Press any key...');
    readkey;
end.

Вот ещё алгоритм, на котором, как мне кажется, можно легко понять работу программы.


И вот эту задачку, а то что-то даже в голову не идёт:
Определить имеются ли в двумерном массиве элементы со значениями, содержащими цифру «1» (например, 105)

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


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Program mnogo_scobok;
Uses Crt;
var
s, s1: string;
inside: boolean;
i: byte;
begin
clrscr;
(*
write('Please, input string >');
readln(s);
*)
s := 'this (is) the test (of) (input) string';

s1 := ''; inside := false;
for i := 1 to length(s) do
case s[i] of
'(': inside := true;
')': inside := false;
else
if inside then s1 := s1 + s[i];
end;

writeln(s1);
writeln;
writeln('Press any key...');
readkey;
end.

Так будет гораздо проще (если только скобки не могут быть вложенными и расставлены правильно)...

Насчет второй задачи - насколько я понимаю, речь о двумерном массиве чисел? Так в FAQ-е есть алгоритм разбиения числа на цифры без перевода в строку, вот и разбиваешь, следя за тем, есть ли среди полученных цифр 1, или нет...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


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

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

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


Цитата
если только скобки не могут быть вложенными и расставлены правильно

тогда еще вот такой вариант:
procedure Print(s: string);
var
p, q: byte;
begin
p := pos('(', s);
if p > 0 then begin
q := pos(')', s);
writeln(copy(s, p + 1, q - p - 1));
Print(copy(s, q + 1, 255));
end;
end;


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


Новичок
*

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

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


Спасибо всем. Помогите решить следущую задачку. Дано предложение. Между словами ровно один пробел. Выделить в нём все слова.
P.S Люди, почему у меня никому рейтинг поднимать нельзя???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


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

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

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


Цитата
Помогите решить следущую задачку. Дано предложение. Между словами ровно один пробел. Выделить в нём все слова.


М
6. Одна тема - один вопрос (задача)



Разбиение на слова. Все способы.

В следующий раз используй поиск.

Цитата
Люди, почему у меня никому рейтинг поднимать нельзя???


недостаточно сообщений на форуме.


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

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

 





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