Program Evklid;
var M,N : integer;
begin
writeln (`Введите M и N`);
readln (M , N);
while M<>N do
begin
if M>N
then M:=M-N
else N:=N-M
end;
write (`нод =`,M);
end.
Я так понимаю, массив должен быть заполнен случайными числами? Если нет - отпишите в комментариях, скину код, где элементы массива вводятся с клавиатуры
При копировании кода из IDE на сайт автоматически убирается перенос строки. Будет прикреплен скриншот с тем, как должен выглядеть код
#include <stdlib.h>#include <stdio.h>#include <locale.h>
void main(){ setlocale(LC_ALL, "RUSSIAN"); int mas[11], i, ad, ben; ad = 0; ben = 0; srand(8120); for (i = 1; i <= 10; i++) //цикл заполнения массива случайными числами mas[i] = rand() % 200 - 100; for (i = 1; i <= 10; i++) //цикл вывода массива на экран { printf("%2d ", mas[i]); if (i % 5 == 0)printf("\n"); } for (i = 1; i <= 10; i++) // цикл подсчета количества отрицательных и положительных элементов массива { if (mas[i] > 0)ben++; if (mas[i] < 0)ad++; } printf("\n Количество положительных чисел: %2d", ben); printf("\n Количество отрицательных числе: %2d", ad); printf("\n\n"); system("pause");}
Это отдельное устройство. покупаешь его и присоеденяешь к ПК
N=8, m=0 - это значит, что числа должны быть 8-битными.
Чтобы перевести число в доп.код, нужно взять инверсию и прибавить 1.
A = -44 = -(00101100) = 11010011 + 1 = 11010100
B = -6 = -(00000110) = 11111001 + 1 = 11111010
Складываем
A + B = 11010100 + 11111010 = 11001110
Для проверки в 10 коде переводим опять из доп.кода.
-(11001110) = 00110001 + 1 = 00110010 = -(32 + 16 + 2) = -50
-44 + (-6) = -50
Все правильно.