Вопрос задан 28.03.2021 в 23:00. Предмет Информатика. Спрашивает Славкин Вова.

C++ помогите В одномерном массиве, состоящем из N целых элементов вычислите, сумму элементов

массива, расположенных между первым и последним нулевыми элементами.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Петров Денис.

Ответ:

#include <iostream>

#include <time.h>

#include <iomanip>

using namespace std;

int main()

{

 int a[20];

 int i, ibeg, iend, s;

 setlocale(LC_ALL, "Russian");

 srand(time(NULL));

 for (i = 0; i < 20; i++) {

   a[i] = (double)rand() / (RAND_MAX + 1) * 10;

   cout << a[i] << " ";

 }

 ibeg = -1;

 for (i = 0; i < 20; i++) {

   if (a[i] == 0) {

     ibeg = i;

     break;

   }

 }

 iend = -1;

 for (i = 20; i > 0; i--) {

   if (a[i] == 0) {

     iend = i;

     break;

   }

 }

 if (ibeg != -1 && iend != -1) {

   s = 0;

   for (i = ibeg + 1; i < iend; i++)

     s += a[i];

   cout << "\nСумма = " << s << "\n";

 }

 else

   cout << "\nНулевые элементы не найдены.\n";

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Код для вычисления суммы элементов массива, расположенных между первым и последним нулевыми элементами, может выглядеть так:

c++
#include <iostream> using namespace std; int main() { const int N = 10; // размер массива int arr[N] = {1, 2, 0, 4, 5, 0, 7, 8, 9, 10}; // исходный массив int sum = 0; // переменная для хранения суммы // поиск первого нулевого элемента int first_zero = 0; while (first_zero < N && arr[first_zero] != 0) { first_zero++; } // поиск последнего нулевого элемента int last_zero = N - 1; while (last_zero >= 0 && arr[last_zero] != 0) { last_zero--; } // вычисление суммы элементов между первым и последним нулевыми элементами for (int i = first_zero + 1; i < last_zero; i++) { sum += arr[i]; } cout << "Сумма элементов между первым и последним нулевыми элементами: " << sum << endl; return 0; }

В данном примере мы создали массив arr размера 10 и инициализировали его значениями. Затем мы нашли индексы первого и последнего нулевых элементов в массиве с помощью двух циклов while. И, наконец, вычислили сумму элементов между ними с помощью цикла for. Результат выводится на экран.

Код можно изменить для работы с динамическим массивом, введенным пользователем или считанным из файла.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос