На входе программы подается 8-разрядное двоичное число, необходимо найти количество единиц и нулей составляющих это число паскаль

zemkina347 zemkina347    2   01.09.2019 18:40    0

Ответы
24556 24556  06.10.2020 10:15
var 
x: string;

begin 
readln(x); 
write('Единиц '); 
writeln(x.Where(x -> x = '1').Count); 
write('Нулей ');   
writeln(8 - x.Where(x -> x = '1').Count);  
end.

Пример
00011111
5
3
ПОКАЗАТЬ ОТВЕТЫ
ms71431 ms71431  06.10.2020 10:15
1. Современный вариант
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  ReadlnString.GroupBy(c->c).Select(x->(x.Key,x.Count)).OrderBy(x->x[0])
    .Select(x->Format('"{0}" - {1}',x[0],x[1])).Println(NewLine)
end.

Пример
10101110
"0" - 3
"1" - 5

2. Школьный вариант в стиле Pascal ABC, Free Pascal

var
  s:string;
  i,k0,k1:integer;
begin
  Readln(s);
  k0:=0; k1:=0;
  for i:=1 to Length(s) do
    if s[i]='0' then Inc(k0) else Inc(k1);
  Writeln('"0" - ',k0);
  Writeln('"1" - ',k1)
end.

Вывод результатов точно такой же, как и выше.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика