Форум программистов, компьютерный форум CyberForum.ru

Работа с одномерным массивом с использованием контейнерных классов и алгоритмов библиотеки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посчитать сумму, метод наименьших квадратов http://www.cyberforum.ru/cpp-beginners/thread871154.html
Здраствуйте! Есть сумма СУММ(CONSTi * (Yi - B0 - B1 * Xi)2 ), i=0..n надо минимизировать по переменным B0 и B1 (методом наименьших квадратов) Здесь СУММ - сумма , Yi и Xi некоторие величины. CONSTi - некоторый набор констант Посоветуйте , как мне это сделать пожалуйста, программу я и сам напишу!!! Буду очень благодарен!
C++ Язык документа Нужно создать программу, которая будет автоматически вычислять язык документа. Программа не консольная, в окне программы указывается путь к файлу. Ну, как-то так... Можно вообще такое организовать? http://www.cyberforum.ru/cpp-beginners/thread871152.html
Найти корни уравнения f(x)=0 на интервале (A,B) с точностью Е (метод хорд) C++
Создать набор функций для вычисления с точностью ε =10-5 значения корня уравнения F(x)=0 на интервале методом хорд.Имя конкретной функции F(x) передать вызываемой подпрограмме как параметр. Полагается, что F(a)*F(b)<0, т.е корень находится на отрезке . Указание. При этом методе каждое значение xn+1 находится как точка пе-ресечения оси абсцисс с ходой, проведенной через точки F(a) и F(b)...
игра в лото C++
Нужно сделать игру в лото,а у меня не выходит.Кусочек сделала,а дальше никак.Может кто подскажет?Буду очень благодарна. #include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> using namespace std; void menu()//правила игры { cout<<"Правила игры в русское лото.\n"; cout<<"Вариант игр:\n";
C++ Проблемы с наследованием классов http://www.cyberforum.ru/cpp-beginners/thread871134.html
1-е задание: Создать класс базовый класс «вещественное число». Элементы класса (поля имеют статус доступа protected): поле, задающее значение числа; конструктор для инициализации поля; метод для вычисления модуля числа и его печати. Создать производный класс «комплексное число». Элементы класса: дополнительно поле, задающее значение мнимой части числа;
C++ Работа небольшой части кода Здравствуйте! Объясните, пожалуйста, подробно выделенный фрагмент кода, как работает цикл "фор", то что объявляются переменные типа int я вижу, дальше идёт остаток от деления (зачем оно там, поясните плиз), дальше идет операция XOR, а дальше Serial= остача от деления (зачем) и зачем там if? #include "stdafx.h" #include "string.h" #include <iostream> using namespace std; char*... подробнее

Показать сообщение отдельно
migtymasha
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 11

Работа с одномерным массивом с использованием контейнерных классов и алгоритмов библиотеки - C++

20.05.2013, 02:56. Просмотров 577. Ответов 13
Метки (Все метки)

вот задача

В одномерном массиве из n элементов вычислить:
1) сумму элементов с нечетными индексами
1) сумму элементов между первым и последним отрицательным элементами

ее нужно реализовать при помощи алгоритмов из библиотеки <algorithm>. первое, на чем я застопорилась, это какие алгоритмы здесь вообще можно применить? я не знаю, как решить эти задачи при помощи алгоритмов, про которые я прочитала... существуют ли алгоритмы для суммы элементов по определенному критерию?

с суммой между отрицательными еще как-то можно разобраться при помощи find_if, наверно.
вот начальный кусочек кода)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool find_negative(int val1)//Функция сравнения
{
    return val1<0;
}
int main()
{
    int a[5]={-1,2,-5,3,4};
    vector<int> array(a,a+5);
    cout<<*find_if(array.begin(),array.end(),find_negative);
    system("pause");
    return(0);
};
подскажите пожалуйста, а какие алгоритмы еще можно использовать?

Добавлено через 1 час 15 минут
и почему, если писать так, то не работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<algorithm>
#include<vector>
#include <numeric>
using namespace std;
bool find_negative(int val1)
{
    return val1<0;
}
 
int main()
{
    int a[5]={-1,2,-5,3,4};
    vector<int> array(a,a+5);
    vector<int>::iterator fotr;
    vector<int>::reverse_iterator lotr;
     fotr=find_if(array.begin(),array.end(),find_negative);
     lotr=find_if(array.rbegin(),array.rend(),find_negative);
     cout<<accumulate(fotr,lotr,0);
            system("pause");
     return(0);
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru