Страница 1 из 1

Задача на тему: множества

Добавлено: 14 окт 2008, 23:47
brouken
Задан текст из маленьких латинских букв в конце стоит точка. Напечатать в алфавитном порядке все согласные буквы которые не входят ни в одно слово с использованием процедуры.



Вот мой вариант решения: В процесе решения зашёл в тупик, нужна ваша помощь.




type mmm=set of char;
var s1:string; h:set of char;
procedure rasbuk(s:string);
var i:integer;j,t:char;n:integer; ss, dd:mmm;
begin
ss:=[];
dd:=[];
for i:=1 to length(s) do
while s = '.' do
begin
while s = ' ' do
if s in h then ss:=ss+[s];
dd:=dd-ss;
for j:='a' to 'z' do
begin
n:=0;
for i:=1 to length(s) do
if j=s then n:=n+1;
if n>=2 then writeln(j);
end;
writeln('Bykvi ne vhodyawie v tekst');
for t:='a' to 'z' do
if t in dd then write(t);
end;
begin
writeln('vvedite tekst');
readln(s1);
h:=['a'..'z'];
rasbuk(s1);
readln;
end; end.



Re: Задача на тему: множества

Добавлено: 17 окт 2008, 04:50
MrVenom
Че то под утро ничего особо не идет как тупо перебирать каждую букву, кароче вот:
procedure rasbuk(str:string; c: char);
var
j:integer;
ex:boolean;
begin
ex := true;
j := 1;
if (c in ['a','e','y','u','i','o','a']) then ex := false;
while ((str[j] <> '.') and (ex <> false)) do
begin
if (str[j] = c) then ex := false;
inc(j);
end;
if ex then write (c);
end;
var
str:string;
i:integer;
begin
write('Vvedite stroku:');
readln(str);
for i:= 97 to 122 do rasbuk(str,chr(i));
readln;
end.

Re: Задача на тему: множества

Добавлено: 17 окт 2008, 15:18
sasha3050
Помогите пожалуйста!!!!!!!Написать программу на paskal, метод гаусса с прямым и обратным ходом для систем уравнений из 5-ти элементов

Re: Задача на тему: множества

Добавлено: 17 окт 2008, 16:40
MrVenom
помогите, это типа напишите за меня?)))))

Re: Задача на тему: множества

Добавлено: 19 окт 2008, 19:51
brouken
MrVenom писал(а):Че то под утро ничего особо не идет как тупо перебирать каждую букву, кароче вот:
procedure rasbuk(str:string; c: char);
var
j:integer;
ex:boolean;
begin
ex := true;
j := 1;
if (c in ['a','e','y','u','i','o','a']) then ex := false;
while ((str[j] <> '.') and (ex <> false)) do
begin
if (str[j] = c) then ex := false;
inc(j);
end;
if ex then write (c);
end;
var
str:string;
i:integer;
begin
write('Vvedite stroku:');
readln(str);
for i:= 97 to 122 do rasbuk(str,chr(i));
readln;
end.

Отличная идея, но вот я немогу понять почему именно от 97 до 122 в выделеной строке?

Re: Задача на тему: множества

Добавлено: 19 окт 2008, 21:17
brouken
sasha3050 писал(а):Помогите пожалуйста!!!!!!!Написать программу на paskal, метод гаусса с прямым и обратным ходом для систем уравнений из 5-ти элементов

У тебя очень распространеная задача, посмотри вот здесь или здесь