ВХОДНЫЕ ДАННЫЕ Вводится строка, содержащая буквы латинского алфавита, пробелы, знаки...

0 голосов
111 просмотров

ВХОДНЫЕ ДАННЫЕ
Вводится строка, содержащая буквы латинского алфавита, пробелы, знаки препинания. Буквы могут быть как заглавные, так и строчные.
ВЫХОДНЫЕ ДАННЫЕ
Выведите одно число — количество различных букв в этой строке.
ПРИМЕРЫ
ВВОД ВЫВОД
Hello World! 7


Информатика (20 баллов) | 111 просмотров
0

var s : string; count : integer := 0; letter : array ['a'..'z'] of boolean;begin for var c := 'a' to 'z' do letter[c] := false; readln(s); for var i := 1 to length(s) do if (s[i] in ['a'..'z']) or (s[i] in ['A'..'Z']) then letter[lowerCase(s[i])] := true; for var c := 'a' to 'z' do if letter[c] then inc(count); writeln(count);end.

0

а для бп какая должна быть программа?

0

Что такое бп?

0

Pascal Borner

0

Впервые слышу...Ну эта прога по ABC.net написана.

0

я это поняла, просто интересны другие вар-ты

0

Может Borland Pascal ?

0

старарая программадада именно что-то туплю я сегодня

0

спасибо огромное!

Дан 1 ответ
0 голосов
Правильный ответ

Хотите экзотики? Получите решение на множествах!

uses Crt;
var
  L:set of 'A'..'Z';
  s:string;
  c:char;
  i,n:byte;
begin
  ClrScr;
  ReadLn(s);
  for i:=1 to Length(s) do begin
    c:=UpCase(s[i]);
    if c in ['A'..'Z'] then Include(L,c)
  end;
  n:=0;
  for c:='A' to 'Z' do
    if c in L then Inc(n);
  Writeln(n);
  ReadKey
end.

Тестовое решение:
Hello World!
7

(142k баллов)