киви1403
11.07.2021 06:57

1. Дан массив 10 элементов. Отсортировать элементы массива по возрастанию от максимального до последнего элемента
2. Дан массив 10 элементов. Отсортировать элементы массива по убыванию от максимального до первого элемента

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
matthewfeat
19.01.2022 19:00
const n=6;
var 
  m,k,i: integer;
  var a: array[1..n] of integer;
begin
  m:=integer.MinValue;
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(20);
    write (a[i]:3);
    if a[i]>m
      then begin m:=a[i]; k:=i; end;
  end;
  writeln;  
  writeln ('Наибольший элемент массива: a[',k,'] = ',m);
end.

Исходный массив
  2  1 12 12 16  4
Наибольший элемент массива: a[5] = 16


const n=50;
var 
  sa: real;
  i,k: integer;
  var a: array[1..n] of integer;
begin
  sa:=0; k:=0;
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(3);
    write (a[i]:2);
    sa:=sa+a[i];
  end;
  sa:=sa/n;  
  writeln;
  writeln ('Среднее арифметическое = ',sa);
  writeln;
  writeln ('Элементы массива, равные среднему арифметическому:');
  for i:=1 to n do begin
    if a[i]=sa
      then begin writeln ('a[',i,'] = ',a[i]); k:=1; end;
  end;
  if k=0 then writeln ('Нет таких элементов');
end.

Исходный массив
 0 0 0 0 1 2 1 2 1 1 2 1 1 0 0 1 0 0 1 2 1 1 1 2 2 1 0 1 1 2 0 1 1 0 0 0 2 2 1 1 2 1 2 0 2 1 2 1 1 2
Среднее арифметическое = 1
Элементы массива, равные среднему арифметическому:
a[5] = 1
a[7] = 1
a[9] = 1
a[10] = 1
a[12] = 1
a[13] = 1
a[16] = 1
a[19] = 1
a[21] = 1
a[22] = 1
a[23] = 1
a[26] = 1
a[28] = 1
a[29] = 1
a[32] = 1
a[33] = 1
a[39] = 1
a[40] = 1
a[42] = 1
a[46] = 1
a[48] = 1
a[49] = 1

PS:
Как правило эта программа выводит пустой результат. Т.е. нет элементов, равных среднему арифметическому. Возможно что-то упущено в условии задачи.
0,0(0 оценок)
Ответ:
Alexandranovik71
11.02.2022 17:52
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в матрице:');
  var n:=ReadInteger('Количество столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-50,50);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var b:=a.Rows.Select((x,r)->(x.Where(q->q<0).Count,r));
  foreach var x in b do Write(x[1]+1,')',x[0],'  ')
end.

Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
  40  50   4  44  10  13  39   5
  10 -41  -9  38  27  -9  34   9
   8  29  37 -18  13 -41  23  -8
  15 -49 -27 -31 -22  -4  46 -31
 -36  36  34 -43 -33 -23 -24  -6

1)0  2)3  3)3  4)6  5)6 

// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',m,'] ***');
  var a:=MatrRandom(m,m,-50,50);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=0;
  for var i:=0 to m-1 do s:=s+a[i,i];
  Writeln('Ср.арифметическое равно ',s/m)
end.

Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица [5,5] ***
  10  47  -5 -37  30
  44  39   1  24  46
  47   6 -26 -32 -16
  -8 -49  18  15  22
   4   4 -48 -36 -14

Ср.арифметическое равно 4.8
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота