опять у меня есть вопрос
Задание
Дан текст на русском языке. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово; все согласные, которые не входят хотя бы в одно слово.
я правильно начинаю прогу??и веду подсчёт гласных букв??
shyrik
А почему бы вместо
вот опять вернулся к этой проге и окончательно запутался, что тут не то?
подсчёт гласных букв которые входят в каждое слово.
shyrik
Вот правильный вариант:
При работе со множествами лучше использовать
Include
Exclude
Пример:
а чтобы вывести буквы которые входят в каждое слово надо из заданных букв вычесть получившейся результат?тогда у меня не выходит. я добовляю эту строку
shyrik
Я же привел программу, которая считает все, что нужно. Почему надо не проверив обязательно что-то менять?
Этот фрагмент, по Вашему, что делает?
я и вправду сначала не обратил особого внимания на этот фрагмент.
Если я ставлю not то у меня выводятся все знаки, как от этого избавиться?
shyrik
Можете мне объяснить, что требуется выводить вообще? По условию задачи надо было
верно, но мне надо ещё сделать:вывести гласные которые не входят хотя бы в одно слово.
если я ввожу
shyrik
Смотри первый ответ: http://forum.pascal.net.ru/index.php?s=&showtopic=3767&view=findpost&p=34262 ... Я добавил еще кое-что... :yes:
оп-па, большое спасибо за помощь.
Люди Помогите!!!!!!!!!!! Дан текст, за которым следует точка. В алфавитном порядке напечатать (по разу) все строчные русские гласные буквы, входящие в этот текст.
Во первых, зачем задавать свои вопросы в чужих темах, во вторых в чем проблема ?проходишь по строке, если буква строчная и русская и ее нету в множестве, то выводишь ее на экран и доюавляешь в множество ...
Помогите появились ошибки не знаю что делать. Завтра защита, а я ещё одну должен сделать PLEASE HELP SOS
Пусть дана непустая последовательность слов из строчных русских букв.
Между соседними словами присутствует запятая, за последним точка.
Напечатайте в алфавитном порядке гласные буквы, которые входят в каждое слово.
My
program ___CrAzY___; {Название программы}
uses WinCRT; {Включение библиотеки}
type letters=set of char;
mass=array[1..33] of string;
const empty:letters=[];
var Deafs,setX:letters;
str:string;
M:mass;
F_InTen,F_NoTest:boolean;
k,kol_slov:byte;
procedure Init(s:string;var X:mass;var c:byte);
var i,l:integer;
begin
l:=length(s);
c:=1;
for i:=1 to l-1 do
if (s[i]<>',') and (s[i]<>'.') then
X[c]:=X[c]+s[i]
else
begin
inc©;
X[c]:='';
end;
end;
function Set_Letters(slovo:string):letters;
var i:byte;
tmp:letters;
begin
for i:=1 to length(slovo) do
include(tmp,slovo[i]);
Set_Letters:=tmp;
end;
procedure Output;
var i:byte;
begin
setX:=Deafs;
write('[');
for i:=1 to length(str) do
if (str[i] in Deafs) and (str[i] in setX) then
begin
exclude(setX,str[i]);
if setX=[] then write(str[i],']')
else write(str[i],',');
end;
end;
begin
clrscr;
writeln('Please, input the text: ');
readln(str);
Init(str,M,kol_slov);
F_InTen:=true;
F_NoTest:=false;
Deafs:=['а','е','ё','и','й','о','у','э','ю','я'];
for k:=1 to kol_slov do
begin
if odd(k) and (Deafs*Set_Letters(M[k])=empty) then F_InTen:=false
else Deafs:=Deafs*Set_Letters(M[k]);
if not odd(k) and (Deafs*Set_Letters(M[k])<>empty) then F_NoTest:=true;
end;
if F_InTen and F_NoTest then Output
else writeln('Таких гласных нет!');
readkey;
end.
Выше было приведено решение задачи (если ты собираешься делать по-своему, зачем спрашиваешь? Делай... За тебя никто ничего делать не будет...)... А ссылку я тебе дал не для того, чтоб ты зафлудил и эту тему, а для того чтоб ты ее просто ПРОЧЕЛ.