Код вот такой, блок-схему сможешь написать по комментам
var a: array [1..100] of integer; n, i, max, min: integer; ans: real; begin writeln('Введите кол-во эллементов массива (от 1 до 100)'); readln(n); // cчитывается кол-во элементов read(a[1]); // cчитывается первый элемент массива max := a[1]; //a[1] принимается за максимальный элемент min := a[1]; //a[1] принимается за минимальный элемент for i := 2 to n do begin // цикл от 2 до n read(a[i]); // cчитывается i-тый элемент массива if (max < a[i]) then // если max меньше нового эллемента обновить max max := a[i] else if (min > a[i]) then // если min больше нового эллемента обновить min min := a[i]; end; ans := max / min; //присвоить переменной ans ответ на задачу writeln(ans); // вывести ответ end.
//PascalABC.NET 3.1 сборка 1200 function Change(condition: boolean; value, default_value: integer): integer; begin if condition then Change := value else Change := default_value; end;
const n = 12;
begin var a := ArrRandom(n, -10, 10); a.Println;
if a.Where(x -> x > 0).Count > a.Where(x -> x < 0).Count then begin var half_max := a.Max / 2; var mult := 1; mult := a.Where(x -> x > half_max).Aggregate((mult, x)-> mult * x); a.Transform(x -> Change((x < 0), mult, x)); end else a.Transform(x -> Change((x < 0), 0, x));
a.Println; end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку