Регистрация Вход
Информатика Студенческий Зоил
Решено

Дан вектор x={x1,...,xn}, где n<20. Заменить последний элемент массива средним арифметическим максимального и минимального элемента.

// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
178
ОТВЕТЫ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var x:=SeqRandom(ReadInteger(n=),-50,50).Select(x-gt;real(x)).ToArray;
  x.Println; x[x.Length-1]:=(x.Min+x.Max)/2; x.Println
end.

Пример
n= 17
-41 -25 -11 -19 -28 -42 32 -40 -45 -3 -24 38 -30 28 -40 36 -12
-41 -25 -11 -19 -28 -42 32 -40 -45 -3 -24 38 -30 28 -40 36 -3.5
/*VS C++*/
#include lt;iostreamgt;
#include lt;vectorgt;
using namespace std;
int main() {
    vectorlt;floatgt;V(20);
    int n;
    cout lt;lt; "Vvedite n = "; cin gt;gt; n;
    V.resize(n);
    for (int i = 0; i lt; V.size(); i++){
        cout lt;lt; "A[" lt;lt; i lt;lt; "]= ";
        cin gt;gt; V[i];
    }
    float min = V[0];
    float max = V[0];
    for (int i = 0; i lt; V.size(); i++){
        if (max lt; V[i])
            max = V[i];
        if (min gt; V[i])
            min = V[i];
    }
    cout lt;lt; "Ishodnqj massiv" lt;lt; endl; //Исходный
    for (int i = 0; i lt; V.size(); i++) {
        cout lt;lt; V[i] lt;lt; ;
    }
    cout lt;lt; endl;
    V[n-1] = (max + min) / 2;
    cout lt;lt; "Izmenennqj massiv massiv" lt;lt; endl; //Измененный
    for (int i = 0; i lt; V.size(); i++) {
        cout lt;lt; V[i] lt;lt; ;
    }
    cout lt;lt; endl;
    system("pause");
    return 0;
}
285
Отв. дан
Для написания вопросов и ответов необходимо зарегистрироваться на сайте