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

0 голосов
32 просмотров

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


Информатика (314 баллов) | 32 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var x:=SeqRandom(ReadInteger('n='),-50,50).Select(x->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
(150k баллов)
0 голосов

/*VS C++*/
#include
#include
using namespace std;
int main() {
    vectorV(20);
    int n;
    cout << "Vvedite n = "; cin >> n;
    V.resize(n);
    for (int i = 0; i < V.size(); i++){
        cout << "A[" << i << "]= ";<br>        cin >> V[i];
    }
    float min = V[0];
    float max = V[0];
    for (int i = 0; i < V.size(); i++){
        if (max < V[i])
            max = V[i];
        if (min > V[i])
            min = V[i];
    }
    cout << "Ishodnqj massiv" << endl; //Исходный<br>    for (int i = 0; i < V.size(); i++) {
        cout << V[i] << ' ';<br>    }
    cout << endl;<br>    V[n-1] = (max + min) / 2;
    cout << "Izmenennqj massiv massiv" << endl; //Измененный<br>    for (int i = 0; i < V.size(); i++) {
        cout << V[i] << ' ';<br>    }
    cout << endl;<br>    system("pause");
    return 0;
}


image
(9.4k баллов)
0

#include
#include
int main(int argc, char *argv[])
{
inti;
floatx[10], max, min;
for (i = 0; i < 10; i++ )
{
printf("x[]=", i+1);
scanf(x[i]);
}
max = x[0];
for (i = 1; i < 10; i++)
if (x[i] > max)
max = x[i];
min = x[0];
for (i = 1; i < 10; i++)
if (x[i] < min)
min= x[i];
x[i-1] = (max + min) / 2;
for (i = 0; i < 10; i++ )
printf ("x[]= ", i+1, x[i]);
system("PAUSE");
return 0;
}

0

Я мог переделать, если вас что-то не работало. Так... на будущее.