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

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

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

 
 Ответить  Открыть новую тему 
> Задача про строку
сообщение
Сообщение #1


Пионер
**

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

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


Дана строка символов. Удалить из строки все знаки препинания. Вывести исходную и преобразованные строки на экран.


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


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

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

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


program Untitled;
var
s,g:string;
r:set of char;
i:byte;
begin
r:=['.',',','!'];
write(' enter string: '); reADLN(s); g:=s;
i:=1;
while i<=length (s) do begin
if s[i] in r then delete (s,i,1) else inc(i);
end;
writeln(s);
writeln(g);
readln
end.

Прикрепленное изображение
Множество знаков припинаний сам дополнишь.

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


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


Пионер
**

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

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


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


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


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

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

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


никаких ситин здесь нет, если бы ты хотел что-то постигать ты бы сам решил такую простую задачу.


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


Гость






Еще вариант:
var
s, g:string;
r: set of char;
i: byte;
begin
r:=['.',',','!'];
write(' enter string: '); readln(s);
g := '';

for i := 1 to length(s) do
if not(s[i] in r) then g := g + s[i];

writeln(s);
writeln(g);
readln
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


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

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

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


wacko.gif wacko.gif wacko.gif :smoke: :smoke: :smoke:
и еще

{$X+}
uses crt;
Type
str=object
private
enterstr,resultstr:string;
public
procedure Init;
procedure RunAndDone;
end;

Procedure Str.Init;
begin
write('Enter string ');
readln(enterstr);
resultstr:='';
end;

procedure str.runanddone;
var
r:set of char; i:byte;
begin
r:=['.',',','!'];
i:=1;
for i := 1 to length(enterstr) do
if not(enterstr[i] in r) then resultstr:=resultstr+enterstr[i];
writeln(enterstr);
writeln(resultstr);
readln
end;


var
work:str;
begin
work.init;
work.runanddone;
end.




Музыка играет -
InsightRadio. Moscow Private Progressive Radio


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


Гость






To: Altair
А через рекурсию слабо? :P
function is_punct(ch: char): boolean;
begin
is_punct := (ch in ['.',',','!'])
end;
function check_string(ch: char): string;
begin
check_string := '';
if not is_punct(ch) then check_string := ch;
end;

function do_it(s: string): string;
begin
if length(s) > 1 then
do_it := check_string(s[1]) + do_it( copy(s, 2, 255) )
else do_it := check_string(s[1]);
end;

var s, g: string;
begin
write('enter string: '); readln(s);
writeln( do_it(s) );
end.
 К началу страницы 
+ Ответить 

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

 





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