В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
ladakorobova
ladakorobova
17.02.2020 00:26 •  Информатика

надо в программе С++ по информатике Необходимо протабулировать функцию у на заданном отрезке, затем записать в одномерный массив 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 до и после изменений в виде строк с заголовками, матрицу К до и после изменения, все искомые результаты.

Показать ответ
Ответ:
Zhenkyaaaa
Zhenkyaaaa
10.11.2020 11:14
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

procedure BubbleSort(a:array of integer;
    descending:Boolean:=False; // нужна ли сортировка по невозрастанию
    u:integer:=-1; // начальный индекс
    v:integer:=-1); // конечный индекс
// Простая пузырьковая сортировка элементов с индексами с u по v
begin
  // обеспечим корректность параметров u и v
  if u<0 then u:=0;
  var n:=a.Length;
  if (v<0) or (v>=n) then v:=n-1;
  if u>v then Swap(u,v)
  else if u=v then Exit;
  // собственно, сортировка
  if descending then begin // по невозрастанию
    for var i:=v-1 downto u do
      for var j:=u to i do
        if a[j]<a[j+1] then Swap(a[j],a[j+1])
    end
  else begin
    for var i:=v-1 downto u do // по неубыванию
      for var j:=u to i do
        if a[j]>a[j+1] then Swap(a[j],a[j+1])
    end
end;

begin
  Write(': ');
  var a:=ArrRandom;
  a.Println;
  var (imin,imax):=(a.IndexMin,a.IndexMax);
  var b:=Copy(a);
  Write('1: '); BubbleSort(b,False,0,imax); b.Println;
  b:=Copy(a);
  Write('2: '); BubbleSort(b,False,imin); b.Println;
  b:=Copy(a);
  Write('3: '); BubbleSort(b,True,imax,imin); b.Println
end.

Пример
 : 70 61 10 72 17 84 19 35 83 47
1: 10 17 61 70 72 84 19 35 83 47
2: 70 61 10 17 19 35 47 72 83 84
3: 70 61 84 72 17 10 19 35 83 47
0,0(0 оценок)
Ответ:
1.
const n=20; 
var
  a:array[1..n] of integer;
  max,imax,i,j,t:integer;
begin
  Randomize;
  Writeln('Исходный массив:');
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ')
  end;
  Writeln;
  max:=a[1]; imax:=1;
  for i:=2 to n do
   if a[i]>max then begin max:=a[i]; imax:=i; end;
  writeln('max = ',max);
  for i:=1 to imax-1 do
    for j:=1 to imax-i do
      if a[j]>a[j+1] then
      begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
  Writeln('Отсортированный массив:');
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Пример:
Исходный массив:
-5 -17 -19 4 -10 16 21 -23 22 24 -5 19 11 -24 6 -25 13 3 9 0 
max = 24
Отсортированный массив:
-23 -19 -17 -10 -5 4 16 21 22 24 -5 19 11 -24 6 -25 13 3 9 0 

2.
const n=20; 
var
  a:array[1..n] of integer;
  min,imin,i,j,t:integer;
begin
  Randomize;
  Writeln('Исходный массив:');
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ');
  end;
  Writeln;
  min:=a[1]; imin:=1;
  for i:=2 to n do
   if a[i]<min then begin min:=a[i]; imin:=i; end;
  writeln('min = ',min);
  for i:=1 to n-imin-1 do
    for j:=imin to n-i do
      if a[j]>a[j+1] then
      begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
  Writeln('Отсортированный массив:');
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Пример:
Исходный массив:
3 -24 -16 -9 -25 3 -25 17 -22 -3 8 2 -7 -8 -8 -24 -23 12 24 -24 
min = -25
Отсортированный массив:
3 -24 -16 -9 -25 -25 -24 -24 -23 -22 -8 -8 -7 -3 2 3 8 12 17 24 

3.
const n=20; 
var
  a:array[1..n] of integer;
  max,imax,min,imin,i,j,t:integer;
begin
  Randomize;
  Writeln('Исходный массив:');
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ')
  end;
  Writeln;
  max:=a[1]; imax:=1;
  min:=a[1]; imin:=1;
  for i:=2 to n do
   begin
   if a[i]>max then begin max:=a[i]; imax:=i; end;
   if a[i]<min then begin min:=a[i]; imin:=i; end;
   end;
  writeln('max = ',max,'  min = ',min);
  if imax>imin then begin
  for i:=1 to imax-imin-1 do
    for j:=imin to imax-i do
      if a[j]>a[j+1] then
       begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end
  end else begin
  for i:=1 to imin-imax-1 do
    for j:=imax to imin-i do
      if a[j]<a[j+1] then
       begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; end;
  Writeln('Отсортированный массив:');
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Пример:
Исходный массив:
-12 13 1 -17 -13 -10 23 5 8 -11 -9 -2 17 19 10 -5 14 10 -20 -9 
max = 23  min = -20
Отсортированный массив:
-12 13 1 -17 -13 -10 23 19 17 14 10 10 8 5 -2 -5 -9 -11 -20 -9 
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота