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

Разбить строку на слова

10.05.2011, 19:21. Показов 35376. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
что то типа такого должно получиться...
text: 'я знаю язык паскаль'
результат:
я
знаю
язык
паскаль

--------

Попытался сам...
Вариант1:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
const text='я знаю язык паскаль';
var s:string;
    x:array[0..30] of string;
    p,i,n:integer;
Begin
clrscr;
s:=text;
i:=0;
p:=0;
n:=0;
writeln(s);
while s <> ' ' do
                 begin
                 n:=pos(#32,s);
                 i:=i+1;
                 x[i]:=copy(s,1,n-1);
                 delete(s,1,n);
                 end;
p:=p-1;
for i:=1 to p do
writeln(x[i]);
End.
--------
Итог, программа не корректна, выдает ошибку...


Вариант2:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
const text='я знаю язык паскаль';
var s:string;
    p,i,n:integer;
Begin
clrscr;
s:=text+#32;
i:=1;
p:=0;
n:=0;
writeln(s);
while i <> length(s) do
                 begin
                 if (s[i]=s[i+1]) and (s[i]=' ') then
                    begin
                    delete(s,i,1);
                    i:=i-1;
                    end;
                 i:=i+1;
                 end;
writeln(s);
End.
--------

Итог, нет результата.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2011, 19:21
Ответы с готовыми решениями:

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

Введенную строку текста, заканчивающуюся точкой, разбить на отдельные слова
Введенную строку текста, заканчивающуюся точкой, разбить на отдельные слова, т.е. вывести каждое слово в отдельную строку.

Разбить строку на отдельные слова
Задание: Строка содержит не более 10 слов, разделённых пробельными символами (пробелы, символы табуляции). Написать программу, которая...

6
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
10.05.2011, 19:24
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
uses crt;
type masstr = array[1..20] of string;
procedure ms(s1: string; var s2: masstr; var count: byte);
var i1, i2: byte;
i, L: byte;
begin
L:= length(s1);
i1:= 1; i2:= 0;
count:= 0;
for i:=1 to L do begin
    if (s1[i] = ' ') and (s1[i+1] <> ' ')
       then i1:= i + 1;
    if (s1[i] <> ' ') and ((s1[i + 1] = ' ') or
       (i = L)) then begin
          i2:= i; inc(count)
    end;
    if i2 <> 0 then begin
       s2[count]:= copy(s1, i1, i2-i1+1);
       i2:= 0;
    end;
end;
end;
var s: string;
s2: masstr;
i, nslov: byte;
begin clrscr;
write('Ведите предложение -> ');
readln(s);
ms(s, s2, nslov);
for i:= 1 to nslov do
writeln(i,'-е слово: ', s2[i]);
readkey
end.
1
0 / 0 / 0
Регистрация: 29.04.2011
Сообщений: 5
10.05.2011, 19:27  [ТС]
спасибо, а есть вариант по проще?
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
10.05.2011, 19:34
Может быть есть. Но мне на ум ничего проще не приходит -_-
0
 Аватар для MaiLoJ
28 / 28 / 26
Регистрация: 04.05.2011
Сообщений: 86
10.05.2011, 22:15
Вот по проще
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var S,Slovo:string;
 
begin
  write('Введите текст --> '); read(S);
  S:=S + ' ';
  writeln;
  while Pos(' ',S) > 0 do
   begin
     Slovo:=Copy(S,1,Pos(' ',S)-1); {Выделяем слово из строки}
     writeln(Slovo); {Выводим слово}
     Delete(S,1,Length(Slovo)+1); {Удаляем слово из основной строки}
   end;
end.
1
 Аватар для Альма
13 / 10 / 4
Регистрация: 25.11.2010
Сообщений: 358
Записей в блоге: 1
10.05.2011, 23:17
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program z22;
uses crt;
var s:string; 
    i:integer;
begin
writeln('Введите строку и нажмите Enter'); 
readln(s);
 for i:=1 to length(s) do
 begin
 write(s[i]);
 if ord(s[i])=32 then
 begin
 writeln(' ');
 end;
 end;
end.
0
3 / 3 / 0
Регистрация: 30.03.2011
Сообщений: 38
10.05.2011, 23:20
Мастера-Программисты помогите пожалуйста с моей проблемкой __Сортировка_и_Поиск__
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2011, 23:20
Помогаю со студенческими работами здесь

Разбить два предложения на слова и сравнить эти слова (совпадающие вывести)
разбить два предложения на слова и сравнить эти слова(совпадающие вывести) Прошу написать более разборчиво чем есть.. if...

Разбить строку на слова (strtok) и сравнить эти слова со словом из Edit-a
Доброго времени суток, господа! Есть строка, её нужно разбить на слова и сравнить эти слова со словом из Edit'a Программа виснет, что...

Разбить строку на слова и вставить эти слова в ячейки на листе
Подскажите как в Excel разбить строку на слова. Например: есть фраза &quot;Шла собака по роялю&quot; и эту фразу надо разбить на слова и...

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

Строка: Строку разбить на слова и слова запихнуть в массив char.
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char. но у меня почему то вообще не то записывает в масив, хоча...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru