По разделам



Задача Minmax 21


Дано целое число N (> 2) и набор из N чисел — значений некоторой
величины, полученных в N опытах. Найти среднее значение этой величины. При вычислении среднего значения не учитывать минимальное и
максимальное из имеющихся в наборе значений.

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, minim = 10000000, maxim = 0,  k = 0;
    cin >> n;
    vector<int> a(n);
    for(int i = 0; i < n; ++i){
        cin >> a[i];
    }
    for(int i = 0; i < n; ++i){
        if(minim > a[i]){
            minim = a[i];
        }
    }
    for(int i = 0; i < n; ++i){
        if(maxim < a[i]){
            maxim = a[i];
        }
    }
    for(int i = 0; i < n; ++i){
        if(a[i] == minim)
            ++k;
    }
    for(int i = 0; i < n; ++i){
        if(a[i] == maxim)
            ++k;
    }
    int s = 0;
    for(int i = 0; i < n; ++i){
        if(a[i] != maxim && a[i] != minim)
            s+=a[i];
    }
    cout << s/n;
    return 0;
}

Код (Python)

import random
import numpy

N = random.randrange(1,15)
print("N = ",N)

L1 = [random.randint(1, 7) for i in range(N)]
print("Initial:")
print(L1)

min_ = min(L1)
max_ = max(L1)
print("Minimum:",min_)
print("Maximum:",max_)

L2 = [i for i in L1 if i != max_ and i != min_]
print("Without Extremums:")
print(L2)
print("Average:",numpy.mean(L2))
									

Код (Pascal)

program MinMax21;
var
  Min,Max,R,Sum:Real;
  N,i,RezMaxNum,RezMinNum:Integer;
 
begin
  Sum:=0;
  Write('N:');
  Readln(N);
  for i:=1 to N do
   begin
     Write(i,' элемент:');
     Readln(R);
 
     if i=1 then
      begin
       Min:=R;
       Max:=R;
       RezMaxNum:=0;
       RezMinNum:=0;
      end;
 
    if R>Max then
      begin
       if Max<>Min then Sum:=Sum+Max*RezMaxNum;
       Max:=R;
       RezMaxNum:=0;
      end;
 
     if R<Min then
      begin
       if Min<>Max then Sum:=Sum+Min*RezMinNum;
       Min:=R;
       RezMinNum:=0;
      end;
 
     if (R<>Max) and (R<>Min) then Sum:=Sum+R
     else
      begin
       if R=Min then inc(RezMinNum);
       if R=Max then inc(RezMaxNum);
      end;
 
   end;
   i:=N-RezMinNum-RezMaxNum;
 
   if i<>0 then writeln(Sum/i)
   else writeln(0);
end.
									




Minmax. Абрамян
Minmax 1 Просмотров: 39
Minmax 2 Просмотров: 29
Minmax 3 Просмотров: 21
Minmax 4 Просмотров: 19
Minmax 5 Просмотров: 30
Minmax 6 Просмотров: 37
Minmax 7 Просмотров: 34
Minmax 8 Просмотров: 19
Minmax 9 Просмотров: 28
Minmax 10 Просмотров: 18
Minmax 11 Просмотров: 48
Minmax 12 Просмотров: 37
Minmax 13 Просмотров: 34
Minmax 14 Просмотров: 25
Minmax 15 Просмотров: 28
Minmax 16 Просмотров: 23
Minmax 17 Просмотров: 27
Minmax 18 Просмотров: 28
Minmax 19 Просмотров: 22
Minmax 20 Просмотров: 35
Minmax 21 Просмотров: 35
Minmax 22 Просмотров: 20
Minmax 23 Просмотров: 26
Minmax 24 Просмотров: 31
Minmax 25 Просмотров: 17
Minmax 26 Просмотров: 41
Minmax 27 Просмотров: 29
Minmax 28 Просмотров: 27
Minmax 29 Просмотров: 31
Minmax 30 Просмотров: 29

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться