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

Вывести все различные слова, буквы которых упорядочены по алфавиту

15.12.2019, 18:20. Показов 2391. Ответов 5
Метки нет (Все метки)

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


Печати все различные слова, буквы которых упорядочены по алфавиту
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2019, 18:20
Ответы с готовыми решениями:

Вывести те слова последовательности у которых буквы упорядочены по алфавиту
дана последовательность содержащая от 2 до 50 слов в каждом из которых от 1 до 8 строчных латинских...

Вывести те слова последовательности, у которых буквы упорядочены по алфавиту
Дана последовательность, содержащая от 2 до 50 слов в каждом из которых от 1 до 8 строчных...

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

Напечатать те слова текста, которые отличны от последнего слова и в которых буквы упорядочены по алфавиту
Дан текст, состоящий из латинских букв. Между соседними словами – не менее одного пробела; за...

5
Эксперт Pascal/Delphi
6803 / 4562 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
15.12.2019, 18:35 2
Цитата Сообщение от Valton Посмотреть сообщение
слова, буквы которых упорядочены по алфавиту
Упорядочены ли буквы по алфавиту
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7486 / 4358 / 2771
Регистрация: 22.11.2013
Сообщений: 12,490
Записей в блоге: 1
15.12.2019, 19:22 3
Лучший ответ Сообщение было отмечено Valton как решение

Решение

Цитата Сообщение от Valton Посмотреть сообщение
буквы которых упорядочены по алфавиту
Только по неубыванию или по неубыванию или невозрастанию?

Добавлено через 11 минут
В первом случае:
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
function IsSorted(const w: String): Boolean;
var i: Integer;
begin
  IsSorted:=False;
  for i:=2 to Length(w) do if w[i-1]>w[i] then Exit;
  IsSorted:=True;
end;
 
const Delims=[#1..#32,',','.'];
var
  w: array [0..29] of String[5];
  t: String[5];
  s: String;
  i, j, k, n: Integer;
begin
  Write('Слова: '); ReadLn(s); s:=s+'.';
  n:=0;
  for i:=1 to Length(s) do
    if not (s[i] in Delims) then t:=t+s[i]
    else begin
      if IsSorted(t) then begin
        j:=n; Inc(n);
        while (j>0) and (t<=w[j-1]) do begin
          w[j]:=w[j-1]; Dec(j);
        end; w[j]:=t;
      end;
      t:='';
    end;
  i:=0;
  while i<n do begin
    j:=i+1; while (j<n) and (w[i]=w[j]) do Inc(j);
    if j-i-1=0 then WriteLn(w[i]);
    i:=j;
  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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function IsSorted(const w: String): Boolean;
var i: Integer; a, d: Boolean;
begin
  a:=True; d:=True;
  for i:=2 to Length(w) do begin
    a:=a and (w[i-1]<=w[i]);
    d:=d and (w[i-1]>=w[i]);
  end;
  IsSorted:=a or d;
end;
 
const Delims=[#1..#32,',','.'];
var
  w: array [0..29] of String[5];
  t: String[5];
  s: String;
  i, j, k, n: Integer;
begin
  Write('Слова: '); ReadLn(s); s:=s+'.';
  n:=0;
  for i:=1 to Length(s) do
    if not (s[i] in Delims) then t:=t+s[i]
    else begin
      if IsSorted(t) then begin
        j:=n; Inc(n);
        while (j>0) and (t<=w[j-1]) do begin
          w[j]:=w[j-1]; Dec(j);
        end; w[j]:=t;
      end;
      t:='';
    end;
  i:=0;
  while i<n do begin
    j:=i+1; while (j<n) and (w[i]=w[j]) do Inc(j);
    if j-i-1=0 then WriteLn(w[i]);
    i:=j;
  end;
end.
1
0 / 0 / 0
Регистрация: 04.12.2019
Сообщений: 30
15.12.2019, 19:25  [ТС] 4
bormant, большое спасибо)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7486 / 4358 / 2771
Регистрация: 22.11.2013
Сообщений: 12,490
Записей в блоге: 1
15.12.2019, 19:27 5
В примерах выше "все различные" -- это те, которые встречаются только один раз.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7486 / 4358 / 2771
Регистрация: 22.11.2013
Сообщений: 12,490
Записей в блоге: 1
16.12.2019, 16:51 6
Лучший ответ Сообщение было отмечено Valton как решение

Решение

Если нужно вывести без повторов, то есть если из ряда "a b c b" нужно вывести "a b c", а не "a c", то
Pascal
33
34
35
36
37
  while i<n do begin
    WriteLn(w[i]);
    j:=i+1; while (j<n) and (w[i]=w[j]) do Inc(j);
    i:=j;
  end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2019, 16:51
Помогаю со студенческими работами здесь

Напечатать все слова, отличающиеся от последнего слова, в которых буквы упорядочены по алфавиту
Помогите пожалуйста с программой на С++, сама уже не справляюсь. Само задание: Слова текста из...

Вывести слова, в которых нет повторяющихся букв и буквы слова упорядочены по алфавиту
Дан текст. Вывести слова, в которых нет повторяющихся букв и буквы слова упорядочены по алфавиту.

Найти в тексте все слова, буквы в которых упорядочены по алфавиту.
Помогите пожалуйста с программкой на С++, сама не справляюсь. &quot;В данном тексте найти все слова,...

Напечатать слова, у которых буквы упорядочены по алфавиту
Всем доброго времени суток, помогите пожалуйста закодить прогу. У меня задание: Дана строка,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru