М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Viktoria120t
Viktoria120t
12.04.2022 14:11 •  Информатика

надо в программе С++ по информатике Необходимо протабулировать функцию у на заданном отрезке, затем записать в одномерный массив B все значения х, а в целочисленный массив C – все значения функции до минимального ее значения, округленные до целого.
y = (x2+x+2)ln(x+2) [-3, 2] ,h =0.5
Далее найти максимальный элемент в массиве B, а в массиве C – минимальный.
Сформировать матрицу A из массива B и массива C. Элементы главной диагонали матрицы - единицы, а вне главной диагонали должны вычисляться по формуле: A[I][J] = B[I]*C[J] – B[J]*C[I].
Размерность матрицы A– минимальная из размерностей массивов B и C. Определить количество отрицательных элементов в матрице К. В случае если количество отрицательных элементов больше трети всех элементов массива, необходимо заменить все отрицательные элементы на нули, а если количество отрицательных элементов меньше, то оставить без изменения.
Затем все значения исходной функции на отрезке вывести на печать в виде таблицы "Х Y", массивы B, C до и после изменений в виде строк с заголовками, матрицу К до и после изменения, все искомые результаты.

👇
Открыть все ответы
Ответ:
polinaleskevic
polinaleskevic
12.04.2022

Программа:

program dividers;

var x, i, p: integer;

   y: array of integer;

function dividersOf(n: integer; includeNegative: boolean := false):array of integer;

var a: array of integer;

   i, k: integer;

begin

 k:= 1;

 if(n<0) then n:= n*(-1);

 for i:= 1 to n

   do if(n mod i = 0)

        then begin

               SetLength(a, k);

               a[a.Length-1]:= i;

               k:= k+1;

             end;

 if(includeNegative)

   then a:= a.Select(x -> x*(-1)).Sorted.ToArray+a;

 dividersOf:= a;

end;

begin

 readln(x);

 y:= dividersOf(x, true);

 p:= y.Length-2;

 i:= 0;

 writeln('Делители числа ', x, ':');

 repeat

   write(y[i], ', ');

   i:= i+1;

 until i=p;

 write(y[p+1], '.');

end.

4,5(83 оценок)
Ответ:
алхожа
алхожа
12.04.2022

Программа:

program dividers;

var x, i, p: integer;

   y: array of integer;

function dividersOf(n: integer; includeNegative: boolean := false):array of integer;

var a: array of integer;

   i, k: integer;

begin

 k:= 1;

 if(n<0) then n:= n*(-1);

 for i:= 1 to n

   do if(n mod i = 0)

        then begin

               SetLength(a, k);

               a[a.Length-1]:= i;

               k:= k+1;

             end;

 if(includeNegative)

   then a:= a.Select(x -> x*(-1)).Sorted.ToArray+a;

 dividersOf:= a;

end;

begin

 readln(x);

 y:= dividersOf(x, true);

 p:= y.Length-2;

 i:= 0;

 writeln('Делители числа ', x, ':');

 repeat

   write(y[i], ', ');

   i:= i+1;

 until i=p;

 write(y[p+1], '.');

end.

4,5(73 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ