Как посчитать количество слов в строке паскаль
Перейти к содержимому

Как посчитать количество слов в строке паскаль

  • автор:

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

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

str — строка;
len — длина строки;
count — счетчик слов в строке.

Алгоритм решения задачи:

  1. Измеряем длину введенной пользователем строки.
  2. Устанавливаем счетчик слов в значение 0.
  3. В цикле посимвольно перебираем строку. Если очередной символ является пробелом, увеличиваем счетчик слов.
  4. Поскольку в цикле не было учтено последнее слово (после него нет пробела), мы должны после цикла увеличить счетчик слов на единицу. Однако, если была введена пустая строка, то этого делать не надо. Поэтому перед увеличением счетчика добавляем проверку, что длина строки больше нуля.

Программа на языке Паскаль:

var str: string; len, count, i: integer; begin readln(str); len := length(str); count := 0; for i := 0 to len do if str[i] = ' ' then count := count + 1; if len > 0 then count := count + 1; writeln(count); end.
one two three 3

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

Второй вариант задачи: подсчитать количество слов в строке и вывести длину каждого слова.

var str, s: string; arr: array[1..255] of string; n,i,l: byte; begin readln(str); l := length(str); n := 0; s := ''; for i:=1 to l do if ((str[i] = ' ') or (i = l)) and (s <> '') then begin n := n + 1; if (i = l) and (str[i] <> ' ') then s := s + str[i]; arr[n] := s; s := ''; end else if str[i] <> ' ' then s := s + str[i]; writeln(n); for i:=1 to n do writeln(arr[i],' - ', length(arr[i])); end.

Пример выполнения программы:

 one two three 3 one - 3 two - 3 three - 5

Третий вариант задачи: Подсчитать количество слов в строке и вывести все слова в столбик.

var s, w: string; l,i: byte; count: byte; begin readln(s); l := length(s); w := ''; count := 0; for i:=1 to l do if s[i] <> ' ' then w := w + s[i] else if w <> '' then begin writeln(w); w := ''; count := count + 1; end; if w <> '' then begin // последнее слово после которого нет пробела writeln(w); count := count + 1; end; writeln(count); end.

Подсчитать количество слов в предложении (Pascal)

1 подсчитать количество (n) символов в введенном предложении
2 организовать цикл (i=1)с количеством циклов n-1
3 в теле цикла ввести условие / если (функция выделения первого символа (i)) неравно » «(пробел) И (функция выделения последующего символа (i+1)) равно » » то включаем счетчик r=r+1 /
4 короче нужно искать совпадение символ-пробел, но есть проблема с последним символом если этот символ не пробел то слово не зачтется для этого нужно одно условие если (функция выделения последнего символа (n))неравно » » то r =r+1

Источник: название всех функций забыл
Покопаться в гуглах, найти функцию типа Split или explode.

program WTF;
var
s: string;
r,i:integer;
begin
writeln(‘Введите строку’);
readln(s);
s:=s+’ ‘; //Приклеиваем пробел, чтобы потом не мучаться
for i:=1 to length(s)-1 do
if (s<>‘ ‘) and (s[i+1]=’ ‘) then
r:=r+1;
writeln(‘В предложении ‘,r, ‘ слов. ‘);
readln;
end.

Pascal.Определить количество слов.

Помогите, пожалуйста, сделать следующее задание.
Дана строка символов. Определить количество слов, встречающихся между точками, до первой точки, после последней точки.
Для начала попыталась просто посчитать кол-во слов в предложении,не работает :facepalm:

program T;
uses crt;
var m:char;
k: Integer;
begin
Readln(m);
begin
while m <> ‘.’ do
BEGIN
if m = ‘ ‘ then k := k+ 1;
END;
Writeln ( ‘количество слов = ‘ ,k);

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Количество слов в строке, паскаль.

29.05.2017 | Автор Дмитрий

Количество слов в строке, паскаль.
Считаем, что все слова разделены символом один пробел, тогда:

program Kol_Word_Str; var i, n, i_SumNum: integer; s_Str: string; begin s_Str := 'The green grass covered the whole glade'; n := length(s_Str); i_SumNum := 0; WriteLn('Строка: ', s_Str); for i := 1 to n do begin if s_Str[i] = ' ' then Inc(i_SumNum); end; Inc(i_SumNum); // учитываем последнее слово WriteLn('Количество слов в строке: ', i_SumNum); ReadLn(); end.  

Количество слов в строке, паскаль.

Рубрика: Pascal (Паскаль) — задачи и решения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *