Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80

Посчитать количество знаков препинания в строке

15.06.2013, 21:30. Показов 14522. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программы для решения 2-х задач по теме "строки".
Задача №1.
Посчитать количество знаков препинания в строке. Посчитать в строке количество символов «:» и «;».
т.е. чтобы выдавало общее кол-во знаков препинания и отдельно ":" и ";".
Задача №2.
Удалить из строки все цифры.
Т.е. написать программу, которая будет удалять все цифры, введенные пользователем.
Ввожу с начала например просто 10 цифр, затем вожу какие цифры надо удалить.

 Комментарий модератора 
на будущее: Множественные задания в одной теме запрещены правилами форума. Для каждой задачи создавайте отдельную тему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2013, 21:30
Ответы с готовыми решениями:

Посчитать количество знаков препинания в строке
Посчитать количество знаков препинания в строке. Посчитать в строке количество символов «:» и «;».

Посчитать количество знаков препинания в последовательности символов
С клавиатуры вводится последовательность символов, заканчивающаяся символом "#". Посчитайте количество знаков препинания...

Строки. Подсчитать количество содержащихся в строке знаков препинания, гласных букв
Помогите плс! Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке 1|2.

10
Заблокирован
15.06.2013, 21:42
считал строку
потом
Pascal
1
2
3
if s[i]=';' then begin k:=k+1; s:=s+1;
end;
else if s[i]=':' then s:=s+1; d:=d+1;
k- ';'
d-':'
s- общее
1
 Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80
16.06.2013, 13:30  [ТС]
Вторую задачу сам решил, там надо было просто написать предложение с цифрами и потом показывает предложение без цифр:
Pascal
1
2
3
4
5
6
7
8
9
10
uses crt;
var
s: string;
i: integer;
begin
readln(s);
for i := length(s) downto 1 do
if s[i] in ['0'..'9'] then delete(s, i, 1);
writeln(s)
end.

а вот с первой так и не разобрался, можно поподробнее?
0
Заблокирован
16.06.2013, 14:00
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
const s=';';
      s2=':';
var   s3:string;
      i,q,w,k:integer;
begin
write('Input String :');
readln(s3);
writeln('Inputed String:',s3);
for i:=1 to length (s3) do
if s3[i]=s then begin k:=k+1; q:=q+1; end
 else if s3[i]=s2 then begin w:=w+1;q:=q+1; end;
writeln('In String: ',s3,'is: ');
writeln(k,' symbols ";"');
writeln(w,' symbols ":"');
writeln(q,' symbols ":" and ";" together');
 end.
1
 Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80
16.06.2013, 15:08  [ТС]
спасибо, теперь разобрался и переделал программу под себя
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var
s:string;
i,q,w:integer;
begin
writeln('Введите предложение: ');
readln(s);
for i:=1 to length (s) do
if s[i]=':' then
begin
q:=q+1;
end
else if s[i]=';' then
begin
w:=w+1;
end;
writeln(q,' символов ":" в строке');
writeln(w,' символов ";" в строке');
end.
только есть одно но, мне надо чтобы подсчитывалось ОБЩЕЕ кол-во знаков препинаний, а не двоеточие с точкой_запятой, можно ли как нибудь это сделать без функции const, первый раз её вижу просто)
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
16.06.2013, 15:38
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses crt;
const s=';'; // const - ìåñòî ãäå â ïðîãðàìå îáüÿâëÿþòñÿ êîíñòàíòû
      s2=':';
      s4:array [1..4] of char =(':',';',',','.');
var   s3:string;
      i,q,w,k:integer;
begin
write('Input String :');
readln(s3);
writeln('Inputed String:',s3);
for i:=1 to length (s3) do
if s3[i]=s then begin k:=k+1;  end
 else if s3[i]=s2 then begin w:=w+1; end;
 for i:=1 to length (s3) do
if (s3[i] = s4[1]) or (s3[i] = s4[2]) or (s3[i] = s4[3]) or (s3[i] = s4[4])then q:=q+1;
writeln('In String: ',s3,'is: ');
writeln(k,' symbols ";"');
writeln(w,' symbols ":"');
writeln(q,' symbols of ":",";",",","."');
 end.
1
 Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80
16.06.2013, 20:42  [ТС]
спасибо, выручили, но есть опять же вопрос я попробовал передалать по другому и у меня не всегда правильно показывает число знаков, общее вроде правильно считает, а ";" и ":" считает только первый символ а остальные нет, в чем ошибка?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
var
zn:set of char;
s:string;
i,q,w,kol:integer;
begin
writeln('Напишите предложение: ');
readln(s);
zn:=[',','.',':',';','!','?'];
for i:=1 to length (s) do
begin
if s[i] in zn then
inc (kol);
end;
if s[i]=':' then
begin
q:=q+1;
end
else if s[i]=';' then
begin
w:=w+1;
end;
writeln(q,' символов ":" в строке');
writeln(w,' символов ";" в строке');
writeln(kol,' знаков препинаний в строке всего');
end.
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
16.06.2013, 22:07
ахахах фор один а проверок 3
0
 Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80
16.06.2013, 22:24  [ТС]
Цитата Сообщение от Taftis Посмотреть сообщение
ахахах фор один а проверок 3
и что сделать нужно? я не шарю вообще в паскале, а надо бы ...
не ставить же перед каждым begin фор, что делать-то?
0
 Аватар для Reveng
424 / 424 / 338
Регистрация: 25.06.2012
Сообщений: 668
16.06.2013, 22:31
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var
zn:set of char;
s:string;
i,q,w,kol:integer;
begin
writeln('Напишите предложение: ');
readln(s);
zn:=[',','.',':',';','!','?'];
for i:=1 to length (s) do
begin
if s[i] in zn then inc (kol);
if s[i]=':' then q:=q+1;
if s[i]=';' then w:=w+1;
end;
writeln(q,' символов ":" в строке');
writeln(w,' символов ";" в строке');
writeln(kol,' знаков препинаний в строке всего');
end.
1
 Аватар для P1XELCORE
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 80
16.06.2013, 22:34  [ТС]
о как, благодарен вам за помощь, всё работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2013, 22:34
Помогаю со студенческими работами здесь

Дан текстовый файл. Подсчитать количество знаков препинания в каждой строке
Не могу понять. Если можно с пояснениями.

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

Файл: подсчитать количество знаков препинания, заглавных и прописных букв
Дан текстовый файл содержащий русский текст. Необходимо подсчитать количество знаков препинания, количество заглавных букв в тексте,...

Посчитать количество знаков препинания в строке
Вводится строка. Посчитать количество знаков препинания. Помогите решить пожалуйста

в тексте из 5-6 предложений посчитать количество знаков препинания с помощью процедуры.
в тексте из 5-6 предложений посчитать количество знаков препинания с помощью процедуры.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Согласованность транзакций в MongoDB
Codd 30.04.2025
MongoDB, начинавшая свой путь как классическая NoSQL система с акцентом на гибкость и масштабируемость, сильно спрогрессировала, включив в свой арсенал поддержку транзакционной согласованности. Это. . .
Продвинутый ввод-вывод в Java: NIO, NIO.2 и асинхронный I/O
Javaican 30.04.2025
Когда речь заходит о вводе-выводе в Java, классический пакет java. io долгие годы был единственным вариантом для разработчиков, но его ограничения становились всё очевиднее с ростом требований к. . .
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru