Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
san9ka3ak
-5 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
#1

Вывести все слова строки в алфавитном порядке - Turbo Pascal

26.08.2017, 11:03. Просмотров 198. Ответов 2
Метки нет (Все метки)

Задана строка символов. Группы символов, разделенные пробелом и несодержащие пробелов внутри себя, будем называть словами. Вывести все слова строки в алфавитном порядке. Например, задана строка : ‘Я учусь программировать на языке Турбо-Паскаль’
Результат работы программы:
Турбо-Паскаль Я на программировать учусь языке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2017, 11:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести все слова строки в алфавитном порядке (Turbo Pascal):

Вывести все слова строки в алфавитном порядке - Turbo Pascal
Задана строка символов. Группы символов, разделенные пробелом и не содержащие пробелов внутри себя, будем называть словами. Вывести все...

Вывести все слова строки в алфавитном порядке - Turbo Pascal
Задана строка символов. Группы символов, разделенные пробелом и не содержащие пробелов внутри себя, будем называть словами. Вывести все...

Строки. Вывести в алфавитном порядке все согласные, которые входят во все слова - Turbo Pascal
Вводится не пустая строка из строчных русских букв, не более 79 символов. Определённые слова в ней разделены запятыми вывести в алфавитном...

Вывести все слова предложения в алфавитном порядке - Turbo Pascal
Слова в тексте разделены одним или несколькими пробелами.написать программу, выводящую все слова в алфавитном порядке. Заранее спасибо.

Множества: вывести на печать в алфавитном порядке все согласные, которые входят во все слова - Turbo Pascal
Добрый день. Помогите пожалуйста исправить ошибки в следующей задаче: вводится непустая строка из строчных букв (меньше 79 символов),...

Строки. Распечатать все слова строки (в столбик) в алфавитном порядке - Turbo Pascal
Помогите пожалуйста((( 1.Задана фраза.Распечатать все слова этой фразы (в столбик) в алфавитном порядке. 2.Задана строка,содержащая...

2
Puporev
Модератор
54023 / 41656 / 14734
Регистрация: 18.05.2008
Сообщений: 97,938
26.08.2017, 11:52 #2
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
uses crt;
var s:string; {строка}
    a:array[1..200] of string;{массив слов}
    n,i,j:byte;
begin
clrscr;
writeln('Введите строку из слов, разделенных пробелами');
readln(s);
s:=' '+s+' '; {добавим пробел в начало и в конец для удобства}
n:=0;{количество слов}
i:=2;{начнем со 2 символа, 1 пробел}
while i<=length(s) do
if (s[i]<>' ')and(s[i-1]=' ') then {если не пробел, а перед ним пробел}
 begin
  inc(n); {новое слово}
  a[n]:='';{будем его составлять}
  j:=i;
  while s[j]<>' ' do{пока не пробел}
   begin
    a[n]:=a[n]+s[j];
    inc(j);
   end;
  i:=i+length(a[n]); {перешагнем через слово}
 end
else inc(i);{пропускаем пробелы}
{сортируем массив по возрастаению=по алфавиту как в примере, т.е а>Я}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  s:=a[i];
  a[i]:=a[j];
  a[j]:=s;
 end;
for i:=1 to n do
write(a[i],' ');
readln
end.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3749 / 2446 / 1306
Регистрация: 22.11.2013
Сообщений: 6,788
26.08.2017, 16:50 #3
Чуть более экономный по памяти вариант:
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
function StrComp(p, q: PChar): Integer;
begin
  while (p^<>#0) and (p^=q^) do begin Inc(p); Inc(q); end;
  scmp:=Ord(p^)-Ord(q^);
end;
 
var
  s: String; dummy: Char;
  w: array [1..255 div 2] of PChar;
  p: PChar;
  n, i, j: Integer;
begin
  {s:='Я учусь программировать на языке Турбо-Паскаль';}
  Write('Строка: '); ReadLn(s);
  n:=0; p:=@s[1]; (p+Length(s)+1)^:=#0;
  while p^<>#0 do begin
    while p^=' ' do Inc(p);
    if p^=#0 then Break;
    Inc(n); w[n]:=p;
    while not (p^ in [#0,' ']) do Inc(p);
    if p^=#0 then Break;
    p^:=#0; Inc(p);
  end;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if StrComp(w[i],w[j])>0 then begin
        p:=w[i]; w[i]:=w[j]; w[j]:=p;
      end;
  for i:=1 to n do Write(w[i],' ');
  ReadLn;
end.
или, если можно использовать модуль strings, то
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 strings;
var
  s: String; dummy: Char;
  w: array [1..255 div 2] of PChar;
  p: PChar;
  n, i, j: Integer;
begin
  {s:='Я учусь программировать на языке Турбо-Паскаль';}
  Write('Строка: '); ReadLn(s);
  n:=0; p:=@s[1]; (p+Length(s)+1)^:=#0;
  while p^<>#0 do begin
    while p^=' ' do Inc(p);
    if p^=#0 then Break;
    Inc(n); w[n]:=p;
    while not (p^ in [#0,' ']) do Inc(p);
    if p^=#0 then Break;
    p^:=#0; Inc(p);
  end;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if StrComp(w[i],w[j])>0 then begin
        p:=w[i]; w[i]:=w[j]; w[j]:=p;
      end;
  for i:=1 to n do Write(w[i],' ');
  ReadLn;
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2017, 16:50
Привет! Вот еще темы с ответами:

Дана последовательность от 1 до 30 слов. Вывести все слова в алфавитном порядке - Turbo Pascal
Дана последовательность ,содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами -...

Вывести все символы строки в алфавитном порядке - Turbo Pascal
Дана строка. Вывести все ее символы в алфавитном порядке. Плиз хелп))))

Вывести в алфавитном порядке все слова, содержащие наибольшее количество гласных букв - Turbo Pascal
• Вывести в алфавитном порядке все слова, содержащие наибольшее количество гласных букв.

Выведите на экран все слова строки, у которых последняя буква – гласная, в алфавитном порядке - Turbo Pascal
Прошу помощи. Нужно уметь делать задачи, наподобие этой: Выведите на экран все слова строки, у которых последняя буква – гласная, в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru