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

Шарящие в паскале, , решить . задан одномерный массив, заполненный случайными числами: 1)определить среднее модулей минимального и максимального значений. 2)написать подпрограмму, которая определяет индекс минимального или максимального значения. 3) решить 1 на основе 2.

👇
Ответ:
angelinakunda
angelinakunda
09.05.2023

1)

var

 ar: array of integer;

 n, min, max: integer;

begin

 write('Введите размер массива:');

 read(n);

 setlength(ar, n);

 if (n > 0) then  

 begin

   ar[0] := random(-10, 10);

   min := ar[0];

   max := ar[0];

   write(ar[0]:4);

 end;

 for var i := 1 to n - 1 do

 begin

   ar[i] := random(-10, 10);

   if (ar[i] < min) then min := ar[i]

   else if (ar[i] > max) then max := ar[i];

   write(ar[i]:4);

 end;

 writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',  

         sqrt(abs(max) * abs(min)):5:5);

end.

2)

function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;

var

 index: integer;

begin

 index := 0;

 for var i := 1 to size - 1 do

   if (findMin) and (ar[i] < ar[index]) then index := i

   else if (not findMin) and (ar[i] > ar[index]) then index := i;

 result := index;

end;

3)

function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;

var

 index: integer;

begin

 index := 0;

 for var i := 1 to size - 1 do

   if (findMin) and (ar[i] < ar[index]) then index := i

   else if (not findMin) and (ar[i] > ar[index]) then index := i;

 result := index;

end;

var

 ar: array of integer;

 n: integer;

begin

 write('Введите размер массива:');

 read(n);

 setlength(ar, n);

 if (n > 0) then  

 begin

   ar[0] := random(-10, 10);

   write(ar[0]:4);

 end;

 for var i := 1 to n - 1 do

 begin

   ar[i] := random(-10, 10);

   write(ar[i]:4);

 end;

 writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',  

         sqrt(abs(ar[minOrMax(ar, n, true)]) * abs(ar[minOrMax(ar, n, false)])):5:5);

end.

4,7(75 оценок)
Открыть все ответы
Ответ:
madina953
madina953
09.05.2023
#include<iostream>

float average(int* a, int first, int last)
{
    int s = 0;
    for(int i = first; i <= last; ++i)
        s += a[i];
    return s * 1. / (last - first + 1);
}
int min_i(int* a, int n)
{
    int m = a[0];
    int numb = 0;
    for(int i = 1; i < n; ++i)
        if(m > a[i])
        {
            m = a[i];
            numb = i;
        }
    return numb;
}
int max_i(int* a, int n)
{
    int m = a[0];
    int numb = 0;
    for(int i = 1; i < n; ++i)
        if(m < a[i])
        {
            m = a[i];
            numb = i;
        }
    return numb;
}
int main()
{
    int N;
    std::cin >> N;
    int X[N];
    for(int i = 0; i < N; ++i)
        std::cin >> X[i];
    std::cout << "Average of whole array: " << average(X, 0, N - 1) << std::endl;
    int first = min_i(X, N);
    int last = max_i(X, N);
    if(first > last)
    {
        int temp = first;
        first = last;
        last = temp;
    }
    if(last - first == 0 || last - first == 1)
        std::cout << "Average of shorter array: " << average(X, 0, N - 1) << std::endl;
    else
    {
        int delta = last - first;
        for(int i = last; i < N; ++i)
            X[i - delta + 1] = X[i];
        std::cout << "Average of shorter array: " << average(X, 0, N - delta) << std::endl;
    }
}
4,5(88 оценок)
Ответ:
nikakim03
nikakim03
09.05.2023
//Pascal
var
  A: array [1..5] of integer;
  min, max, minInd, MaxInd: integer;
  i: byte;
begin
  writeln('Заполнение массива.');
  for i := 1 to 5 do
  begin
    write('А[', i, '] = '); readln(A[i]);
  end;
  writeln;
  Max := A[1]; Min := A[1];
  for i := 1 to 5 do
  begin
  if Max < A[i] then begin Max := A[i]; MaxInd := i; end;
  if Min > A[i] then begin Min := A[i]; MinInd := i; end;
  end;
  writeln('Номер минимального элемента = ', MinInd);
  writeln('Номера минимального и максимального = ', MinInd, ' и ',MaxInd);
end.

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