Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2021, 13:11   #1
Vlodislav
Новичок
Джуниор
 
Регистрация: 30.09.2021
Сообщений: 3
По умолчанию Определение количества знакочередующихся рядов в массиве С++

Добрый день! Необходимо решить такую задачу на С++:

Дан целочисленные массив X(n). Построить массив Y(k) по правилу y[i] = x[i] + x[i+1] для всех i от 1 до n-1. В массиве X(n) и Y(k) определить количество групп элементов, представляющих из себя знакочередующийся ряд. Группа всегда имеет максимально возможную длину. Если такие группы есть, то удалить из каждого массива последнюю такую группу. В программе написать методы: формирования массива Y, удаление элемента, поиск последней группы знакочередующихся элементов.

Я сделал формирование массива Y, прочитал информацию и понял, что знакочередующийся ряд выполняется при условии: |1/(n+1)|<=|1/n|, но как найти количество таких рядов в массиве не представляю.

Прошу помочь!

Код:
#include <iostream>
#include <iomanip>
#include <algorithm>

using namespace std;

void Massiv_in(int Massiv[1000], int N)
{
    cout << endl;
    cout << "Enter Total[]: " << endl;

    int Starter[1000];
    int kol_num, elements;

    cin >> kol_num;

    for (int i = 0; i < kol_num; i++)
    {
        cin >> elements;

        Starter[i] = elements;
    }

    cout << endl;
    cout << "Input Total[]: " << endl;
    cout << endl;

    for (int i = 0; i < N; i++)
    {
        Massiv[i] = Starter[i] + Starter[i + 1];

        cout << setw(5) << Massiv[i] << " ";
    }

    cout << endl;
}

void Massiv_out(int Massiv[1000], int N)
{
    cout << endl;
    cout << "Output Total[]: " << endl;
    cout << endl;

    for (int i = 0; i < N; i++)
    {
        cout << setw(5) << Massiv[i] << " ";
    }

    cout << endl;
}


int main()
{
    int Total[1000];
    int elements;
    int kol_num;

    cout << "Enter the height: " << endl;
    cin >> kol_num;

    Massiv_in(Total, kol_num - 1);
    Massiv_out(Total, kol_num - 1);

    return 0;
}
Vlodislav вне форума Ответить с цитированием
Старый 08.12.2021, 13:17   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Vlodislav Посмотреть сообщение
прочитал информацию и понял, что знакочередующийся ряд выполняется при условии: |1/(n+1)|<=|1/n|
Чего? Знакочередующийся ряд - это просто ряд, у клоторого чередуются знаки.

Вам надо пройтись по массиву и выявить таки последовательности.
ForenLi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение количества четных и нечетных элементов в массиве цудсщь636 Windows Forms 3 24.05.2018 23:12
[PascalABC]Создать программу для определения количества гласных среди 5-и введенных пользователем символов. Определение количества destra1j Помощь студентам 5 15.05.2016 09:29
Определение количества Com - портов Dmitry_B Visual C++ 1 08.01.2013 13:31
Определение количества информации Kulechov Помощь студентам 1 26.01.2011 07:29
Определение количества максимальных значений. denicko Помощь студентам 0 26.10.2010 17:19