Широкий круг вопросов

Напишите, пожалуйста программу в с++, только без arr, double, first_pos, zero_count, а то мы это ещё

Автор обиженная дождем, Апр. 28, 2024, 01:57

« назад - далее »

обиженная дождем

Одна составляющая не совсем ясна. Напишите, пожалуйста программу в с++, только без arr, double, first_pos, zero_count, а то мы это ещё не проходили.

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. Минимальный элемент массива;
2. Сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные.


MyJIbTuK

Ответ на данный вопрос будет выглядеть следующим образом:

Вот код на C++, который вычисляет минимальный элемент массива, сумму элементов массива, расположенных между первым и последним положительными элементами, и преобразует массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные:

#include  using namespace std;  int main() {     int n;     cout > n;     int a[n];     cout > a;     }      int min = a[0];     for (int i = 1; i  0) {             if (first_pos == -1) {                 first_pos = i;             }             last_pos = i;         }     }     int sum = 0;     if (first_pos != -1 && last_pos != -1) {         for (int i = first_pos + 1; i < last_pos; i++) {             sum += a;         }     }     cout << "Сумма элементов массива, расположенных между первым и последним положительными элементами: " << sum << endl;      int zero_count = 0;     for (int i = 0; i < n; i++) {         if (a == 0) {             zero_count++;         }     }     for (int i = 0; i < zero_count; i++) {         a = 0;     }     for (int i = zero_count; i < n; i++) {         if (a != 0) {             a[zero_count] = a;             zero_count++;         }     }     for (int i = 0; i < n; i++) {         cout << a << " ";     }     cout << endl;      return 0; }