Помогите пожалуйста с кодом

Помогите решить задачу пожалуйста.
Написать программу, в которой имеется двумерный массив 5х5, состоящий из случайных чисел. Программа подсчитывает сумму элементов побочной диагонали.
Если сумма больше 200, то программа создает два одномерных динамических массива, в один записывает четные элементы массива, в другой – нечетные.
Если сумма меньше 200, то создается три одномерных динамических массива, первый — с элементами большими 10 из первых двух столбцов, второй — с элементами меньшими 30 из последних двух столбцов и третий динамический массив заполняется элементами среднего столбца, которые больше 50. Реализовать решение при помощи функций.

Есть функция, которая считает, согласно условиям, требуемое количество элементов. Как к ним обратиться из функции которая создает динамические массивы и можно ли это или как реализовать решение данной задачи? Я только начал разбираться с этим, начал с С++, а он невероятно сложный, поэтому не судите строго))

void Create(int arr[][5], int size)
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
arr[i][j] = rand() % 100;
}
}
}

void Show(int arr[][5], int size)
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{

      cout << setw(5) << arr[i][j] << " ";
    }
    cout << "\n";
}

}
void Sec_Diag(int arr[][5], int size)
{
int sum = 0;
int count_even = 0;
int count_odd = 0;
int count_ten = 0;
int count_thr = 0;
int count_fif = 0;

for (int i = 0; i < size; i++)
{
    for (int j = 0; j < size; j++)
    {
        if (i + j == 4)

            sum += arr[i][j];

    }

}
cout << "Sum of the Secondary diagonal is " << sum << endl;

if (sum > 200)
{

    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            if (arr[i][j] % 2 == 0)

                count_even++;

            else

                count_odd++;

        }

    }
    cout << "Amount of even elements is " << count_even << endl;
    cout << "Amount of odd elements is " << count_odd << endl;
}  
else
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            if (arr[i][j] > 10 && i < size && j <= 1)

                count_ten++;

            else if (arr[i][j] < 30 && i < size && j >= 3)

                count_thr++;

            else if (arr[i][j] > 50 && i < size && j == 2)

                count_fif++;
        }

    }
    cout << "Amount of the elements more than 10 " << count_ten << endl;
    cout << "Amount of the elements less than 30 " << count_thr << endl;
    cout << "Amount of the elements more than 50 " << count_fif << endl;
}

}
int main()
{
srand(time(NULL));
int const size = 5;
int arr[size][size];
Create(arr, size);
Show(arr, size);
cout << endl;
Sec_Diag(arr, size);

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.