kuchin
?>

Информатика дан массив целых чисел. найти количество нулей

Информатика

Ответы

Никита
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-9,9); a.Println;
  Writeln('Количество нулей равно ',a.Where(x->x=0).Count)
end.

Пример
n= 25
0 1 5 3 -8 8 3 -9 6 9 2 -1 -6 -8 -1 0 -1 7 5 4 8 -1 4 9 1
Количество нулей равно 2
Dmitriy793
Чтобы это узнать нам потребуется разобрать это на примере.
допустим у нас есть изображение размером 1024х1024 пикселя.
чтобы определить объем занимаемой памяти при наличии на нем 65 536 цветов для начала нужно выяснить сколькими битами кодировать один пиксель.  65 536 = 2^16 => один пиксель кодируется 16 битами. 
значит объем памяти изображения будет составлять:
1024*1024*16= 16 777 216 бит.
теперь вычислим объем памяти при  наличии 16 цветов на изображении.
16=2^4 =>
1024*1024*4=4 194 304
теперь чтобы определить во сколько раз уменьшился объем памяти изображения мы выполняем следующее действие:
16 777 216 : 4 194 304 = 4
т е объем памяти изображения уменьшился в 4 раза.
Ingakazakova
Ну, в общем, лови решение.

{ FreePascal 2.6.4}
program test;
uses
    crt;
var
    a, b, c, d  : integer;
    f : longint;

procedure swap (var x : integer; var y : integer);
var z : integer;
begin
    z := x;
    x := y;
    y := z;
end;

function nod (m, n : integer) : integer;
begin
    while m<>n do begin
        if m>n
        then
            m:=m-n
        else
            n:=n-m;
    end;
    nod := m;
end;

function max (a,b : integer) : integer;
begin
    if a>b
    then max := a
    else max := b;
end;

function min (x, y, z : integer) : integer;
var m : integer;
begin
    m := x;
    if y<m then m := y;
    if z<m then m := z;
    min := m;
end;

function mypow (a, b : integer) : integer;
var e, f : integer;
begin
    f := 1;
    for e:=1 to b do f := f*a;
    mypow := f;
end;

function fact(a : integer) : longint;
var
    i : integer;
    res : longint;
begin
    res := 1;
    for i := 1 to a do res := res*i;
    fact := res;
end;

begin
    clrscr;
    writeln('Test of function SWAP');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    swap(a, b);
    writeln('A=', a, ', B=', b);
    writeln;

    writeln('Test of function NOD');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := nod(a, b);
    writeln('NOD(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MAX');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := max(a, b);
    writeln('MAX(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MIN');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    write('Input C: ');
    readln(c);
    d := min(a, b, c);
    writeln('MIN(', a, ',', b, ',', c, ')=', d);
    writeln;

    writeln('Test of function POW');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := mypow(a, b);
    writeln('POW(', a, ',', b, ')=', c);
    writeln;

    writeln ('Test of function FACT (not large than 12!)');
    write('Input A: ');
    readln(a);
    f := fact(a);
    writeln(a, '!=', f);
    writeln;
    readkey;

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Информатика дан массив целых чисел. найти количество нулей
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

stperelyot7833
ayanrsadykov
Svetlana
samoilovcoc
frdf57
zoomagazinkotmatroskin
Irina_Nevretdinova1630
jurys71242
mitin228133770
Valerevna
Igor120
olechka197835
vvk2008
АртакСергеевич1723
Azarenkoff