• Написать программу на языке Си
    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і.

Ответы 1

  • 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) прости не могу ответить

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years