Решение #1
var a:array[1..1000] of integer;
s,i,k,N:integer;
begin
s:=0;
k:=0;
read(N);
for i:=1 to N do
read(a[i]);
if a[i]<0 then begin
s:=s+a[i];
k:=k+1;
end;
writeln(s/k);
end.
Решение #2;
var a,i,s,k,N:integer;
for i:=1 to N do begin
read(a);
if a<0 then begin
s:=s+a;
write(s/k);
Оба решение дают один результат, но первое сделан массивом, а второе простым перебором чисел.
Формат входных данных
Задается натуральное число N
Затем задается N целых чисел
Формат выходных данных
Целое число - среднее арифметическое всех отрицательных чисел
Пример
Вход
5
1 -2 3 -4 5
Выход
-3
Вопросы в ЛС
1) -9
Найдем модуль числа:
|-9|=9
Найдем прямой код числа 9
9/2 = 4 ост 1
4 / 2 = 2 ост 0
2 / 2 = 1 ост 0
Запишем число в прямом коде
9 = 1001(2 СС)
Дополним до до 8 разрядов
00001001
Инввертируем - заменяем каждую цифру обратным кодом (0 заменяем на 1, 1 заменяем на 0)
11110110 - это обратный код чила
Прибавляем 1 (чтобы получить дополнительный код)
11110110 + 1 = 11110111
2) -15
Модуль - |-15| = 15
Двоичное представление 15 = 1111(2)
Представление восьмиразрядное
00001111 - прямой код
Инвертируем:
11110000 - обратный код
Прибуавляем 1
11110001 - дополнительный код
3) -127
Модуль |-127| = 127
Двоичное число
127 = 1111111
Восьмиразрядное представление
01111111 - прямой код
Инвертируем
10000000 - обратный код
Добавляем 1
10000001- дополнительный код
4) |-128|
Модуль |-128| = 128
Двоичное число 128 = 10000000
Восьмиразрядное представление 10000000
Число в -128 в 8 разрядах представить нельзя - недостаток ячеек памяти
Решение #1
var a:array[1..1000] of integer;
s,i,k,N:integer;
begin
s:=0;
k:=0;
read(N);
for i:=1 to N do
read(a[i]);
for i:=1 to N do
if a[i]<0 then begin
s:=s+a[i];
k:=k+1;
end;
writeln(s/k);
end.
Решение #2;
var a,i,s,k,N:integer;
begin
k:=0;
s:=0;
read(N);
for i:=1 to N do begin
read(a);
if a<0 then begin
k:=k+1;
s:=s+a;
end;
end;
write(s/k);
end.
Оба решение дают один результат, но первое сделан массивом, а второе простым перебором чисел.
Формат входных данных
Задается натуральное число N
Затем задается N целых чисел
Формат выходных данных
Целое число - среднее арифметическое всех отрицательных чисел
Пример
Вход
5
1 -2 3 -4 5
Выход
-3
Вопросы в ЛС
1) -9
Найдем модуль числа:
|-9|=9
Найдем прямой код числа 9
9/2 = 4 ост 1
4 / 2 = 2 ост 0
2 / 2 = 1 ост 0
Запишем число в прямом коде
9 = 1001(2 СС)
Дополним до до 8 разрядов
00001001
Инввертируем - заменяем каждую цифру обратным кодом (0 заменяем на 1, 1 заменяем на 0)
11110110 - это обратный код чила
Прибавляем 1 (чтобы получить дополнительный код)
11110110 + 1 = 11110111
2) -15
Модуль - |-15| = 15
Двоичное представление 15 = 1111(2)
Представление восьмиразрядное
00001111 - прямой код
Инвертируем:
11110000 - обратный код
Прибуавляем 1
11110001 - дополнительный код
3) -127
Модуль |-127| = 127
Двоичное число
127 = 1111111
Восьмиразрядное представление
01111111 - прямой код
Инвертируем
10000000 - обратный код
Добавляем 1
10000001- дополнительный код
4) |-128|
Модуль |-128| = 128
Двоичное число 128 = 10000000
Восьмиразрядное представление 10000000
Число в -128 в 8 разрядах представить нельзя - недостаток ячеек памяти