Нужно составить блок схему. С клавиатуры вводится N чисел. Составьте программу, которая определяет кол-во отрицательных, положительных и нулей среди введённых чисел. Значение N вводится с клавиатуры.
const n=40; var a:array [1..n] of integer; i,k:integer; begin Randomize; k:=0; Writeln('Исходный массив'); for i:=1 to n do begin a[i]:=random(63)+20; Write(a[i],' ') end; Writeln; Writeln('Четные элементы, кратные 3'); for i:=1 to n do if a[i] mod 6=0 then begin Inc(k); Write(a[i],' ') end; Writeln; Writeln('Отобрано элементов: ',k) end.
const n=20; var a:array [1..n] of integer; i,imin:integer; begin Randomize; Writeln('Исходный массив'); imin:=1; for i:=1 to n do begin a[i]:=random(351)+20; Write(a[i],' '); if a[i]<a[imin] then imin:=i end; Writeln; Writeln('Минимальный элемент a[',imin,']=',a[imin]) end.
Не знаю пишут ли тут готовый код, но я писать его, но попробую схемой.
Насчет диапазона я не понял точно, его тебе весь дали или в форме 1-10 или каждое число крч я пишу общее решение а ты уже подумаешь как в твоей ситуации работать
1. берешь все делители числа что бы сделать это ты узнаешь число и делишь в цикле от 1 и дальше i++, понятное нужны только такие делители про котором остаток будет 0 т.е делаешь проверку на то что бы (% == 0) если равно записываешь число(в массив или какт придумаешь), нет - идешь по циклу дальше проверяешь пока i!=твоему числу (это и нормально цикл намутит и сразу исключит самое число в качестве делителя)
если цикл закончился суммируешь всё что достал и проверяешь равна ли эта сумма твоему числу, если да используешь cout а в нем начальное число если нет идешь ко второму и заново схема
для такой махинации нужен наверно будет еще 1 цикл поверх этого с проверкой на то что твое число не равно конечному в диапазоне/
Надеюсь тебе хотя бы немного.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку