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

Строки. Распечатать все слова строки (в столбик) в алфавитном порядке

15.03.2012, 19:10. Показов 2577. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста(((
1.Задана фраза.Распечатать все слова этой фразы (в столбик) в алфавитном порядке.
2.Задана строка,содержащая буквы и числа. Найти произведение всех чисел в заданной строке
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2012, 19:10
Ответы с готовыми решениями:

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

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

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

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

3
Почетный модератор
7965 / 3936 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
15.03.2012, 19:49 2
Цитата Сообщение от AngelicDevil06 Посмотреть сообщение
.Задана фраза.Распечатать все слова этой фразы (в столбик) в алфавитном порядке.
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
uses crt;
var s,sl:string;
i,j,k,m,l:integer;
a:array [1..255] of string;
 
begin
write('Stroka: ');readln(s);
s:=s+' '; sl:='';
for i:=1 to length(s) do
    if s[i]<>' ' then sl:=sl+s[i] else
       if length(sl)>0 then
          begin
          inc(j);
          a[j]:=sl;
          sl:='';
          end;
k:=0;
while k<=j do
begin
for i:=1 to j-1 do
    begin
    l:=1; m:=0;
    repeat
    if a[i][l]<>a[i+1][l] then inc(m);
    if a[i][l]>a[i+1][l] then
       begin
       s:=a[i];
       a[i]:=a[i+1];
       a[i+1]:=s;
       end;
    inc(l);
    until (m=1) or (l>length(a[i]));
    end;
inc(k);
end;
for i:=1 to j do
    writeln(a[i],' ');
readln;
end.
0
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 5
16.03.2012, 10:34  [ТС] 3
if a[i][l]<>a[i+1][l] then inc(m);
if a[i][l]>a[i+1][l] then
что то тут не то...какой знак между ними должен быть? или тут ошибка какая то?
a[i] [l]?
a[i+1] [l]?
0
Почетный модератор
7965 / 3936 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
16.03.2012, 18:48 4
AngelicDevil06, не ошибка и никакого знака...
Просто используется массив строк + сравнение символов каждого элемента данного массива.
Для того, чтобы сортировать слова строки по алфавиту, я:
1) перебираю строку, выделяю каждое слово как отдельный элемент массива
Далее мне надо сверить буквы этих выделенных слов, чтобы сортировать их по алфавиту
2) перебрираю элементы (читай: символы) текущего слова под индексом [i] и сравниваю с элементами следующего слова под индексом [i+1]
то есть первое скобочное выражение - это номер элемента массива
При сортировке по алфавиту могут быть слова, начинающиеся на одну букву - например, "мама мыла маленькую матроску". Если мы будем сортировать только по первой букве (то есть проверять условие if a[i][1]>a[i+1][2] then), то слова не будут отсортированы. Надо сравнивать не только первые, но и последующие символы слов.
3) Чтобы сравнить символы одного слова с символами второго слова, мне также надо обращаться к ним, как к элементам строки (или элементам массива символов), то есть использовать индекс символа в слове [l]
вот и получается if a[i][l]<>a[i+1][l]
так что - все то. работает. ты проверял?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2012, 18:48
Помогаю со студенческими работами здесь

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

Напечатать в алфавитном порядке все слова из данной строки
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

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

Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длину n
Здравстуйте, если не сложно помогите пожалуйста написать программу. Составить программу, которая...


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

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

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