35 / 29 / 15
Регистрация: 20.11.2010
Сообщений: 481
1

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

25.06.2011, 12:31. Показов 3183. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В алфавитном порядке вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят ни в одно четное слово
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2011, 12:31
Ответы с готовыми решениями:

Вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят ни в одно четное слово
в алфавитном порядке вывести все звонкие согласные, которые входят в каждое нечетное слово и не...

Вывести все глухие согласные, которые входят в каждое нечетное слово и не входят хотя в одно четное
ввести четыре слова на русском языке.вывести на экран все глухие согласные буквы,которые входят в...

Напечатать в алфавитном порядке: Все звонкие согласные, которые входят хотя бы в одно четное слово.
Program mn_3; uses crt; type let=' а'..'я'; var sogl:set of let; text: set of char; c:char;...

В алфавитном порядке вывести всё звонкие согласные, которые входят в каждое нечестное слово
В алфавитном порядке вывести всё звонкие согласные,которые входят в каждое нечестное слово и не...

12
28 / 28 / 26
Регистрация: 04.05.2011
Сообщений: 86
25.06.2011, 21:51 2
Можно сделать так:
1) Определить каждое слово в массив типа string.
2) Если её индекс четный то записываем её звонкие согласные в массив типа char. (звонкие согласные можно определить как множество, и проверять на вхождение A[i] в это множество)
3) Отсортировать полученный массив способом предложенным Mawrat в в этой теме.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...........................................
 //Сортируем массив слов по возрастанию - т. е. в порядке возрастания
    //кодов символов, согласно действующей в данный момент кодировочной таблице.
    //Это означает, что слова будут отсортированы почти по алфавиту. - Не по
    //алфавиту будут отсортированы только те слова, которые содержат букву "Ё" или "ё".
    //Для кодовой страницы CP866 (DOS, OEM) коды букв "Ё" и "ё" больше кода буквы "я".
    //Для кодовой страницы CP1251 (Windows) коды букв "Ё" и "ё" меньше кода буквы "А".
 
    //Метод сортировки - пузырьковая сортировка.
    for i := LenA - 1 downto 1 do begin
     repeat
       IsExch := False;
       for j := 1 to i do begin
         if Arr[j] > Arr[j + 1] then begin
           SWord := Arr[j];
           Arr[j] := Arr[j + 1];
           Arr[j + 1] := sWord;
         end;
       end;
     until not IsExch;
    end;
...........................................
1
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
26.06.2011, 02:36 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
program Project1;
 
//Возвращает заглавную версию буквы для кодовой страницы CP866.
function UpCase866(const aChar : Char) : Char;
begin
  case aChar of
    #$A0..#$AF : UpCase866 := Char( Ord(aChar) - $20 ); //Буквы: а..п.
    #$E0..#$EF : UpCase866 := Char( Ord(aChar) - $50 ); //Буквы: р..я.
    #$F1 : UpCase866 := #$F0; (*Буква ё.*)
  else
    UpCase866 := UpCase(aChar); //Все другие символы.
  end;
end;
 
const
  //Множество разделителей слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
  //Множество звонких согласных букв.
  Da = ['Б', 'В', 'Г', 'Д', 'Ж', 'З', 'Л', 'М', 'Н', 'Р'];
var
  S : String;
  Ch : Char;
  i, j, Len : Integer;
  D1, D2, DTmp : set of Char;
begin
  repeat
    Writeln('Задайте строку:');
    Readln(S);
 
    Len := Length(S);
    D1 := [];
    D2 := [];
    DTmp := [];
    j := 0;
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Формируем множество звонких согласных букв, которые
      //присутствуют в текущем слове.
      Ch := UpCase866(S[i]);
      if Ch in Da then DTmp := DTmp + [Ch];
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then begin
        //Порядковый номер слова.
        Inc(j);
        if j mod 2 <> 0 then begin
          //На первом нечётном слове инициализируем множество D1.
          if j = 1 then D1 := DTmp;
          //Во множество D1 попадают только те звонкие согласные
          //буквы, которые присутствуют одновременно и в D1 и в DTmp.
          D1 := D1 * DTmp; //Если слово нечётное.
          //Если D1 стало пустым - нет смысла продолжать обработку.
          if D1 = [] then Break;
        end else
          D2 := D2 + DTmp //Если слово чётное.
        ;
        //Обнуляем временное множество.
        DTmp := [];
      end;
    end;
 
    //Результирующее множество: все найденные звонкие согласные буквы,
    //которые присутствуют в каждом нечётном слове, но не присутствуют
    //ни в одном чётном слове.
    DTmp := D1 - D2;
 
    //Распечатка результатов.
    if DTmp = [] then begin
      Writeln('Нет ни одной звонкой согласной буквы, которая бы');
      Writeln('присутствовала в каждом нечётном слове, но не присутствовала');
      Writeln('ни в одном чётном слове.');
    end else begin
      Writeln('Перечень звонких согласных букв, которые присутствуют');
      Writeln('в каждом нечётном слове, но не присутствуют');
      Writeln('ни в одном чётном слове:');
      i := 0;
      for Ch := #0 to #255 do begin
        if not (Ch in DTmp) then Continue;
        Inc(i);
        if i > 1 then Write(', ');
        Write(Ch);
      end;
      Writeln;
    end;
    Writeln;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
Например, для исходной строки: бвгджзлмн зл гджзлмн злмн.
результат будет таким: Г, Д, Ж.
1
35 / 29 / 15
Регистрация: 20.11.2010
Сообщений: 481
26.06.2011, 09:46  [ТС] 4
дайте пожалуйста проверенную программу. оч прощу
0
28 / 28 / 26
Регистрация: 04.05.2011
Сообщений: 86
26.06.2011, 11:38 5
Mawrat тебе её и предоставил.
0
35 / 29 / 15
Регистрация: 20.11.2010
Сообщений: 481
26.06.2011, 12:27  [ТС] 6
там же нет строки описания фактических переменных.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.06.2011, 13:43 7
А это что?
Pascal
1
2
3
4
5
var
  S : String;
  Ch : Char;
  i, j, Len : Integer;
  D1, D2, DTmp : set of Char;
0
28 / 28 / 26
Регистрация: 04.05.2011
Сообщений: 86
26.06.2011, 13:44 8
Функции? Если бы не было, она бы не работала, посмотри внимательней.
0
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
26.06.2011, 13:50 9
Мирзали, это полностью рабочая программа.
---
Трое человек уговаривают Мирзали воспользоваться работающей программой.
0
35 / 29 / 15
Регистрация: 20.11.2010
Сообщений: 481
27.06.2011, 08:40  [ТС] 10
А что делают uрсаsе асhаr?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
27.06.2011, 08:43 11
Мирзали, Ну хоть что-то же нужно знать, или в справку заглянуть...
UpCase(aChar) это стандартная функция Паскаля, преобразует символ aChar в верхний регистр.
0
35 / 29 / 15
Регистрация: 20.11.2010
Сообщений: 481
27.06.2011, 12:28  [ТС] 12
Не встречался с этим. Поэтому ничего незнаю
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
27.06.2011, 12:40 13
Мирзали, Не будете ничего читать еще много чего знать не будете...
Вот к примеру проходите строки, нет учебника, нет справки встроенноой, наберите в Гугле функции и процедуры для работы со строками в Паскале, и наверняка найдете что-то типа
http://pascal.guti.ru/string.html
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2011, 12:40
Помогаю со студенческими работами здесь

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

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

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

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


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

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

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