Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Abuka
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 35
1

Вывести на экран все звонкие согласные буквы

21.07.2010, 00:16. Просмотров 1235. Ответов 3
Метки нет (Все метки)

1)Дана последовательность русских слов (строчными буквами) разделенных запятыми (не менее 10-и слов). Вывести на экран все звонкие согласные буквы (б, в, г, д, ж, з, л, м, н, р), которые входят в каждое нечётное слово и не входят ни в одно четное слово.
2) Дана последовательность из 10-и русских слов. Вывести на печать слова, в которых первая буква слова встречается в нём ещё раз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2010, 00:16
Ответы с готовыми решениями:

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

Вывести на экран все согласные символы, встречающиеся в строке
Ребя. всем здарова! Выручайте. подрабатывал, вместо хождения на пары) теперь...

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

Из массива слов вывести все согласные буквы из слова наибольшей длины и число повторений этих букв
Дан массив из n слов произвольной длины(длина слова не превышает 80 символов)....

В массиве найти и вывести все глухие согласные буквы (без повторений), которые встретились в 2-х самых коротких словах
Вот начал писать... но хватило только на начало... Да и не пойму как мне найти...

3
Puporev
Модератор
54710 / 42119 / 29083
Регистрация: 18.05.2008
Сообщений: 99,407
21.07.2010, 16:20 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
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
uses crt;
const zs=['б','в','г','д','ж','з','л','м','н','р'];
      ds=['а'..'п','р'..'я','ё',','];//допустимые символы
type mnoz=set of char;//тип множества
procedure Mnozestvo(s:string;var m:mnoz);//создание множеств из слов
var i:byte;
begin
m:=[];
for i:=1 to length(s) do
if s[i] in zs then m:=m+[s[i]];//
end;
var s,s1:string;
    m1,mi:mnoz;
    i,j,k,z:byte;
begin
clrscr;
repeat
k:=0;z:=0;
writeln('Введите последовательность из не менее 10 русских слов,');
writeln('записанных строчными буквами, разделенных запятыми');
readln(s);
for i:=1 to length(s) do
 begin
  if not(s[i] in ds) then k:=1;
  if (s[i]=',')and(s[i-1]<>',') then z:=z+1;
 end;
if k=1 then writeln('Введены недопустимые символы.');
if s[length(s)]=','then z:=z-1;
if z<9 then writeln('Введено менее 10 слов.');
until (k=0)and(z>8);
s:=s+',';//добавим запятую в конец
while pos(',,',s)>0 do//пока есть 2 запятые рядом
delete(s, pos(',,',s),1);//1 запятую удаляем
s1:=copy(s,1,pos(',',s));//первое(нечетное) слово
Mnozestvo(s1,m1);
delete(s,1,pos(',',s));//удалим его, следующее первое
i:=1;
while pos(',',s)>0 do//пока есть запятые
 begin
  s1:=copy(s,1,pos(',',s));//первое слово
  i:=i+1;//считаем
  Mnozestvo(s1,mi);//множество
  if i mod 2=0 then m1:=m1-mi//если четное, вычитаем из первого
  else m1:=m1*mi;//если нечетное, умножвем(пересечение)
  delete(s,1,pos(',',s));//удаляем
 end;
if m1=[] then
 begin
  write('Указанных по условию букв нет!');
  readln;
  exit;
 end;
writeln('Множество указанных по условию букв:');
for i:=161 to 224 do//коды букв от б до р
if chr(i) in m1 then write(chr(i),' ');
readln
end.
Какое отношение к множествам имеет вторая задача, не понял.
0
DeLuxe
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 399
22.07.2010, 11:36 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
var i:integer;
    s,st:string;
    D:set of char;
    b:boolean;
begin
clrscr;
writeln('Введите последовательность слов через запятую');
readln(s);
while length(s)<>0 do begin
 b:=pos(',',s)<>0;
 if b then st:=copy(s,1,pos(',',s)-1)
 else st:=copy(s,1,length(s));
 D:=[];
 if length(st)<>1 then begin
    include(D,st[1]);
    for i:=2 to length(st) do if st[i] in D then begin
                                                 write(st,' ');
                                                 break
                                                 end;
    end;
 if b then delete(s,1,pos(',',s))
 else delete(s,1,length(s))
end;
readln
end.
0
Abuka
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 35
29.07.2010, 11:02  [ТС] 4
Большое спасибо !!!

Добавлено через 12 часов 14 минут
Немного не понял как программа сравнивает 1 букву в слове с последующими буквами этого слова.
Если можете прокомментируйте пожалуйста данный отрезок программы.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while length(s)<>0 do begin
 b:=pos(',',s)<>0;
 if b then st:=copy(s,1,pos(',',s)-1)
 else st:=copy(s,1,length(s));
 D:=[];
 if length(st)<>1 then begin
    include(D,st[1]);
    for i:=2 to length(st) do if st[i] in D then begin
                                                 write(st,' ');
                                                 break
                                                 end;
    end;
 if b then delete(s,1,pos(',',s))
 else delete(s,1,length(s))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2010, 11:02

Множества. Вывести все глухие согласные буквы, которые входят в каждое нечётное слово и не входят хотя бы в одно чётное
Дано предложение,состоящее из слов,разделённых любым количеством пробелов и...

Строки. Вывести на экран все слова, в которых все буквы разные
Дан текст из слов, разделенных пробелами. Вывести на экран все слова, в которых...

Вывести на экран все буквы от ‘a’ до ‘z’.
ребенку задали в школе данные задачи, так как, ни я, ни жена не смыслим в...


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

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

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