(Нужно построить блок схему с определенной алгоритмической структурой , для решения задачи)
Задача : В одномерном массиве A = (a1, а2, ..., аn) группу элементов, содержащую наибольшее число подряд идущих отрицательных элементов, переписать в «хвост» массива. Элементы массива вводятся случайным образом.

Ответы

Ответ дал: ZyMaa
1

Ответ:

На фото

Объяснение:

Код на с++:

#include <bits/stdc++.h>

#define N 100010

using namespace std;

int main() {

int n;

int cnt, cnt_max, start, start_max, tail_cnt;

   int a[N], temp[N];

   cin >> n;

   cnt = cnt_max = start = start_max = tail_cnt = 0;

   for(int i = 0; i < n; i++)

   {

    cin >> a[i];

    if(a[i] < 0)

    {

     if(cnt == 0)

     {

      start = i;

  }

  cnt++;

  if(cnt > cnt_max)

  {

   cnt_max = cnt;

   start_max = start;

  }

 }

 else

 {

  cnt = 0;

 }

}

if(cnt_max != 0)

{

 for(int i = start_max; i < n; i++)

    {

     temp[i] = a[i];

 }

 for(int i = n - 1, j = 0; j < cnt_max; i--, j++)

    {

     a[i] = temp[start_max + cnt_max - j - 1];

 }

 tail_cnt = n - (start_max + cnt_max);

 for(int i = n - cnt_max - 1, j = 0; j < tail_cnt; i--, j++)

    {

     a[i] = temp[n - j - 1];

 }

}

for(int i = 0; i < n; i++)

{

 cout << a[i] << ' ';

}

   return 0;

}

Приложения:

ZyMaa: 8wt3WGeVJflW3s6DElcgk31JtLIg7YDb/view?usp=sharing
ZyMaa: скачайте файл с гуг л диска и загрузите сюда если нужно поменять диаграмму: https://programforyou.ru/block-diagram-redactor
ZyMaa: Спасибо, 1.5 часа потратил на это, надеюсь ответ тебе помог)
Вас заинтересует