Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/92: Рейтинг темы: голосов - 92, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 18

Подсчитать , сколько слов в строке

21.02.2011, 19:15. Показов 17291. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, заканчивающаяся точкой. Подсчитать , сколько слов в строке
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2011, 19:15
Ответы с готовыми решениями:

Подсчитать, сколько в строке слов
Дана строка, заканчивающаяся точкой. Подсчитать, сколько в ней слов. var s :string; i,k :integer; begin k:=0; read(s); for...

Дан текстовый файл. Подсчитать, сколько слов в каждой строке
нужно чтоб программа открыла файл ,считала текст и посчитала слова в строках

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

3
 Аватар для kofee"k
109 / 109 / 91
Регистрация: 08.01.2011
Сообщений: 171
21.02.2011, 19:26
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program tt;
uses crt;
var
  s:string;
  k,i:integer;
begin
  ClrScr;
  writeln('Введите предложение, в конце точка');
  readln(s);
  k:=0;
  if (s='.')or(s='')or(s=' ')then 
    writeln('неверный ввод!')
  else
    for i:=1 to length(s) do
      if (s[i]=' ')or(s[i]='.')or(s[i]=',') then k:=k+1;
  writeln('Кол-во слов ',k);
  readln;
1
 Аватар для VakhramoV
20 / 20 / 12
Регистрация: 07.02.2011
Сообщений: 82
21.02.2011, 19:29
Цитата Сообщение от kofee"k Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program tt;
uses crt;
var
  s:string;
  k,i:integer;
begin
  ClrScr;
  writeln('Введите предложение, в конце точка');
  readln(s);
  k:=0;
  if (s='.')or(s='')or(s=' ')then 
    writeln('неверный ввод!')
  else
    for i:=1 to length(s) do
      if (s[i]=' ')or(s[i]='.') then k:=k+1;
  writeln('Кол-во слов ',k);
  readln;
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
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
Program Slova_V_Predlozhenii;
uses GraphABC, crt;
var p, schetchikPOL, schetchikOTR, shtchkSLOV, delsymbols : integer;
    slova, startSLOVA, stroka : string;
 
begin
SetWindowCaption('Анализ слов, составляющих предложение!');
 TextColor(Black);
 TextBackground(White);
clrscr;
schetchikPOL := 0;
schetchikOTR := 0;
shtchkSLOV := 0;
delsymbols := 0;
Write('Введите предложение: ');
Read(slova);
WriteLn;
slova := slova + ' ';
startSLOVA := slova;
while (Pos('?', slova) > 0) do begin delete(slova, Pos('?', slova), length('?')); delsymbols := delsymbols + 1; end;
while (Pos('!', slova) > 0) do begin delete(slova, Pos('!', slova), length('!')); delsymbols := delsymbols + 1; end;
while (Pos('(', slova) > 0) do begin delete(slova, Pos('(', slova), length('(')); delsymbols := delsymbols + 1; end;
while (Pos(')', slova) > 0) do begin delete(slova, Pos(')', slova), length(')')); delsymbols := delsymbols + 1; end;
while (Pos('.', slova) > 0) do begin delete(slova, Pos('.', slova), length('.')); delsymbols := delsymbols + 1; end;
while (Pos(',', slova) > 0) do begin delete(slova, Pos(',', slova), length(',')); delsymbols := delsymbols + 1; end;
while (Pos('_', slova) > 0) do begin delete(slova, Pos('_', slova), length('_')); delsymbols := delsymbols + 1; end;
while (Pos('[', slova) > 0) do begin delete(slova, Pos('[', slova), length('[')); delsymbols := delsymbols + 1; end;
while (Pos(']', slova) > 0) do begin delete(slova, Pos(']', slova), length(']')); delsymbols := delsymbols + 1; end;
while (Pos('- ', slova) > 0) do begin delete(slova, Pos('- ', slova), length('- ')); delsymbols := delsymbols + 1; end;
while (Pos(' -', slova) > 0) do begin delete(slova, Pos(' -', slova), length(' -')); delsymbols := delsymbols + 1; end;
while (Pos(':', slova) > 0) do begin delete(slova, Pos(':', slova), length(':')); delsymbols := delsymbols + 1; end;
while (Pos(';', slova) > 0) do begin delete(slova, Pos(';', slova), length(';')); delsymbols := delsymbols + 1; end;
while (Pos('"', slova) > 0) do begin delete(slova, Pos('"', slova), length('"')); delsymbols := delsymbols + 1; end;
if (slova <> '') and (not (slova = ' ')) then begin
if (startSLOVA <> slova) then
begin
WriteLn('Было удалено лишних символов: ',delsymbols,' шт.');
WriteLn('Удалили лишние символы, получили:');
WriteLn('{ ',UpperCase(slova),'}');
end else begin
WriteLn('Лишних символов не обнаружили, сканируем предложение!');
WriteLn('{ ',UpperCase(slova),'}');
end;
WriteLn;
  p := Pos(' ', slova);
  WriteLn('Раскладываем предложения на отдельные слова!');
  while p > 0 do
  begin
    stroka := copy(slova, 1, p-1);
    if (Pos('1',stroka) > 0) or (Pos('2',stroka) > 0) or (Pos('3',stroka) > 0) or (Pos('4',stroka) > 0) or (Pos('5',stroka) > 0)
    or (Pos('6',stroka) > 0) or (Pos('7',stroka) > 0) or(Pos('8',stroka) > 0) or (Pos('9',stroka) > 0) or (Pos('0',stroka) > 0) then
    begin
    WriteLn('Объект [',stroka,'] содержит цифры, поэтому будет исключен из списка слов!');
    stroka := '';
    end;
    
    if (stroka <> '') then
    begin
    WriteLn('Отдельное слово: [',stroka,']. Символов: ',Length(stroka));
    shtchkSLOV := shtchkSLOV + 1;
    end;
    
    if ((Length(stroka) mod 2) <> 0) and (stroka <> '') then
    begin
    schetchikPOL := schetchikPOL + 1;
    WriteLn('Слов с нечётным количеством символов на данный момент = ',schetchikPOL);
    end;
 
    if ((Length(stroka) mod 2) = 0) and (stroka <> '') then
    begin
    schetchikOTR := schetchikOTR + 1;
    WriteLn('Слов с чётным количеством символов на данный момент = ',schetchikOTR);
    end;
    
    delete(slova, 1, p + length(' ') - 1);
    p := Pos(' ', slova);
  end;
  WriteLn;
WriteLn('Подсчёт закончен!');
WriteLn('Всего слов в предложении: ',shtchkSLOV);
WriteLn('Количество слов с чётным количеством символов: ',schetchikOTR);
WriteLn('Количество слов с нечётным количеством символов: ',schetchikPOL);
end else begin
  WriteLn('Были удалены все лишние символы, слов не осталось. Завершаем программу!');
  exit;
  end;
end.
1
 Аватар для Mawrat
13113 / 5894 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
21.02.2011, 23:53
Подсчёт количества слов в заданном тексте:
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
program Project1;
 
const
  //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  i, Len, Cnt : Integer;
begin
  repeat
    Writeln('Задайте строку:');
    Readln(S);
 
    Len := Length(S);
    Cnt := 0;
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then Inc(Cnt);
    end;
 
    Writeln('Количество слов в заданном тексте = ', Cnt);
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program Project1;
 
const
  //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  i, Len, Cnt, Cnt1, Cnt2, Cnt3 : Integer;
begin
  repeat
    Writeln('Задайте строку:');
    Readln(S);
 
    Len := Length(S);
    Cnt := 0;
    Cnt1 := 0;
    Cnt2 := 0;
    Cnt3 := 0;
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Подсчитываем количество символов в слове.
      Inc(Cnt);
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then begin
        Inc(Cnt1);
        if Cnt mod 2 = 0 then Inc(Cnt2)
        else Inc(Cnt3);
        Cnt := 0;
      end;
    end;
 
    Writeln('Количество слов в заданном тексте: ', Cnt1);
    Writeln('Количество слов с чётным числом символов: ', Cnt2);
    Writeln('Количество слов с нечётным числом символов: ', Cnt3);
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.02.2011, 23:53
Помогаю со студенческими работами здесь

Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке
Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.

Дана строка, заканчивающаяся точкой Подсчитать сколько слов в строке
22. Дана строка, заканчивающаяся точкой. Подсчитать сколько слов в строке

В строке, вводимой пользователем, определить сколько слов в строке, составить новое предложение из чётных слов
В строке вводимой пользователем, определить сколько слов в строке, составить новое предложение из чётных слов.

Сколько слов в строке имеет четное количество символов, а сколько - нечетное.
в турбопаскале . условие:Введите строку из нескольких слов. Определите, сколько слов в строке имеет четное количество символов, а сколько...

В исходной строке а определить сколько в ней находится предложений и сколько слов в каждом предложении
В исходной строке а определить сколько в ней находится предложений и сколько слов в каждом предложении. Результат вывести на экран


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

Или воспользуйтесь поиском по форуму:
4
Закрытая тема Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru