Написать программу на языке Си
1)В одномерном массиве, который состоит из N действительных элементов, вычислить:
• суму положительных элементов массива;
• произведение элементов массива, размещённых между максимальным по модулю и минимальным по модулем элементами.
2)Задан массив X (x1, x2, …, x16) действительных чисел. Найти минимальный элемент массиву Z, элемент которого z1 = x1 + x16, z2 = x2 + x15, …, zm = x8 + x9
3)Задан вектор А. Получить два других вектора В і С, которые содержат элементы вектора A, вычисленные по такому правилу: bі = 3•aі; cі =4•aі.
Answers & Comments
1) #include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
srand(static_cast <unsigned> (time(NULL)));
int n = rand() % 16 + 5;
double * a = new double [ n ];
cout << "Дан массив [" << n << "]:" << endl;
cout.precision(2);
double s = 0, p = 1;
int imin = 0, imax = 0;
for (int i = 0; i < n; i++)
{
bool f;
do
{
a[ i ] = static_cast <double> (rand() % 1999 - 999) / 100;
int j = i - 1;
f = false;
while (!f && j >= 0)
{
f = a[ i ] == a[ j ];
j--;
}
} while (f);
cout << fixed << setw(8) << a[ i ];
if (a[ i ] > 0)
s += a[ i ];
if (fabs(a[ i ]) < fabs(a[ imin ]))
imin = i;
if (fabs(a[ i ]) > fabs(a[ imax ]))
imax = i;
}
cout << endl;
if (!s)
cout << "Положительных элементов нет" << endl;
else
cout << "Сумма положительных элементов: " << fixed << s << endl;
if (abs(imin - imax) < 2)
cout << "Между максимальным по модулю и минимальным по модулю нет элементов";
else
{
if (imin > imax)
{
imin ^= imax;
imax ^= imin;
imin ^= imax;
}
for (int i = imin + 1; i < imax; i++)
p *= a[ i ];
cout.precision(6);
cout << "Произведение элементов между макс. и мин. по модулю элементами: "
<< fixed << p;
}
cin.get();
delete [ ] a;
return 0;
}
2) прости не могу ответить