0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 1

Удаление знаков препинания

06.11.2016, 12:50. Показов 1684. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. С клавиатуры, или из самой программы, или из файла в
строковую переменную вносится некоторый текст. Это предложение
на английском языке. Программа редактирует английское
предложение так, что не оставляет в нем ни одного знака
препинания. Ни точки, ни запятой, и тире, ни прочих знаков не
должно быть. Мало того, между двумя соседними словами должно
быть не более одного пробела.
2. Эта программа берет уже отредактированную строку из первой
задачи и делает из полученной строки массив английских слов в
том порядке, как они расположены в предложении. В возвращаемом
массиве слов пробелов быть не должно.
3. Небольшая программа получает массив слов из предыдущей задачи
и делает так, чтобы все слова начинались со строчных букв.
4. Эта программа на входе имеет «очищенный» массив слов
предложения, заданного в первой задаче. Однако в исходном
массиве могут встречаться повторяющиеся слова. Задача программы
– из исходного массива сделать массив неповторяющихся слов.
5. Наконец, эта программа должна сортировать массив слов по
алфавиту.
Все программы можно попробовать реализовать в модуле как методы
строкового объекта. Значение всех этих программ – облегчение
перевода английского текста путем создания небольшого
вспомогательного словаря. Не секрет, что современные
автоматические переводчики не всегда улавливают семантику
текста, его смысл.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2016, 12:50
Ответы с готовыми решениями:

Разработать процедуру подсчёта количества знаков препинания (знаки препинания: запятая, точка, точка с запятой, двоеточие)
Разработать процедуру подсчёта количества знаков препинания (знаки препинания: запятая, точка, точка с запятой, двоеточие). Добавлено...

Посчитать количество знаков препинания
Дана строка символов. Посчитать кол-во знаков препинания. program znak; var s:string; i,k,n,m:integer; begin writeln('BBeDute...

В предложении определить количество знаков препинания.
1)Во введённом предложении определить количество знаков препинания. 2)Дана строка. Найти слова, которые оканчиваются и начинаются одной ...

1
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
07.11.2016, 15:51
Лучший ответ Сообщение было отмечено g1gas как решение

Решение

myStrings.pas
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
unit myStrings;
interface
    const
        ALPHABET: Set Of Char = ['a'..'z', 'A'..'Z'];
    type
        TStringArray = Array[Byte] Of String;
    function DelPunctuation(const s: String): String;
    procedure StringToArray(s: String; var ar: TStringArray; var len: Byte);
    procedure ArrayToLower(var ar: TStringArray; const len: Byte);
    procedure GetUniqWords(const x: TStringArray; const xLen: Byte; var y: TStringArray; var yLen: Byte);
    procedure SortArray(var ar: TStringArray; const len: Byte);
implementation
    function DelPunctuation(const s: String): String;
    var
        i: Byte;
        Result: String;
        inWord: Boolean;
    begin
        i := 1;
        Result := '';
        inWord := False;
        while (i <= Length(s)) do
        begin
            if (s[i] in ALPHABET)
            then
            begin
                if (Not inWord)
                then
                    Result := Result + ' ';
                Result := Result + s[i];
                inWord := True;
            end
            else
                inWord := False;
            Inc(i);
        end;
        Delete(Result, 1, 1);
        DelPunctuation := Result;
    end;
    procedure StringToArray(s: String; var ar: TStringArray; var len: Byte);
    var
        i: Byte;
    begin
        len := 0;
        s := s + ' ';
        i := 1;
        while (i <= Length(s)) do
        begin
            ar[len] := '';
            while (s[1] <> ' ') do
            begin
                ar[len] := ar[len] + s[1];
                Delete(s, 1, 1);
            end;
            Delete(s, 1, 1);
            Inc(len);
        end;
    end;
    procedure ArrayToLower(var ar: TStringArray; const len: Byte);
    var
        i: Byte;
    begin
        for i := 0 to len - 1 do
            if (ar[i, 1] < 'a')
            then
                ar[i, 1] := Chr(Ord(ar[i, 1]) + 32);
    end;
    procedure GetUniqWords(const x: TStringArray; const xLen: Byte; var y: TStringArray; var yLen: Byte);
    var
        i, j: Integer;
        isUniq: Boolean;
    begin
        yLen := 0;
        for i := 0 to xLen - 1 do
        begin
            isUniq := True;
            j := yLen - 1;
            while ((isUniq) And (j >= 0)) do
            begin
                isUniq := (x[i] <> y[j]);
                Dec(j);
            end;
            if (isUniq)
            then
            begin
                y[yLen] := x[i];
                Inc(yLen);
            end;
        end;
    end;
    procedure SortArray(var ar: TStringArray; const len: Byte);
    var
        i, j: Byte;
        procedure Swap(var x, y: String);
        var
            z: String;
        begin
            z := x;
            x := y;
            y := z;
        end;
    begin
        for i := 0 to len - 2 do
            for j := 0 to len - i - 2 do
                if (ar[j, 1] > ar[j + 1, 1])
                then
                    Swap(ar[j], ar[j + 1]);
    end;
end.
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
uses
    myStrings;
var
    s: String;
    ar1, ar2: TStringArray;
    i, len1, len2: Byte;
begin
    s := '    Temp temp k  temp, temp,asd';
    StringToArray(DelPunctuation(s), ar1, len1);
    for i := 0 to len1 - 1 do
        WriteLn(ar1[i]);
    WriteLn; WriteLn;
    ArrayToLower(ar1, len1);
    for i := 0 to len1 - 1 do
        WriteLn(ar1[i]);
    WriteLn; WriteLn;
    GetUniqWords(ar1, len1, ar2, len2);
    for i := 0 to len2 - 1 do
        WriteLn(ar2[i]);
    WriteLn; WriteLn;
    SortArray(ar2, len2);
    for i := 0 to len2 - 1 do
        WriteLn(ar2[i]);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2016, 15:51
Помогаю со студенческими работами здесь

Посчитать сколько слов, букв и знаков препинания
Нужно посчитать сколько слов, букв и знаков препинания.

Подсчет гласных, согласных, знаков препинания в тексте
Разработать программу,которая вмещает в себе процедуру, которая подсчитывает количество гласных, согласных и знаков препинания в...

Удалить лишние пробелы после и до знаков препинания.
Ребята, добрый вечер! Уже не знаю, сколько сижу над этой задачей. Никак не могу решаить. Помогите, пожалуйста. Заранее благодарен за...

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

Определить сколько в строке букв, цифр, знаков препинания
Дана строка. Определить сколько в ней букв, цифр, знаков препинания.


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

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

Новые блоги и статьи
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
MVC фреймворк в PHP
Jason-Webb 19.04.2025
Архитектурный паттерн Model-View-Controller (MVC) – это не просто модный термин из мира веб-разработки. Для PHP-программистов это фундаментальный подход к организации кода, который радикально меняет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru