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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bolon
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
#1

Вектор! - C++

24.02.2011, 23:31. Просмотров 322. Ответов 3
Метки нет (Все метки)

1. Найти максимальный элемент массива.
2. Найти сумму элементов массива, расположенных до последнего положительного элемента.
3. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
НО ЭТО НАДО СДЕЛАТЬ ЧЕРЕЗ ВЕКТОРЫ!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2011, 23:31     Вектор!
Посмотрите здесь:

C++ Вектор
C++ Указатель на вектор
C++ Вектор
Вектор C++
Вектор C++
C++ вектор
C++ Вектор потоков
вектор C++
вектор C++
C++ Вектор
Вектор указателей C++
Список и вектор C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
25.02.2011, 00:12     Вектор! #2
Цитата Сообщение от bolon Посмотреть сообщение
1. Найти максимальный элемент массива.
C++
1
2
std::vector<int> vec = {7, 4, 3, 1, 6};
std::cout << *std::max_element(vec.begin(), vec.end());
Добавлено через 14 минут
Цитата Сообщение от bolon Посмотреть сообщение
3. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vector>
#include <iostream>
#include <cmath>
#include <iterator>
 
int main(){
  std::vector<int> vec = {7, 4, 3, 1, 6};
  const int a = 5, b = 10, sz = vec.size();
  for(auto it = vec.begin(); it != vec.end(); ++it)
    if( abs(*it) >= a && abs(*it) <= b )
      vec.erase(it--);
  vec.insert(vec.end(), sz - vec.size(), 0);
  for(auto it = vec.begin(); it != vec.end(); ++it)
    std::cout << *it << ' ';
  return 0;
}
igorrr37
1611 / 1239 / 124
Регистрация: 21.12.2010
Сообщений: 1,892
Записей в блоге: 7
25.02.2011, 00:56     Вектор! #3
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<numeric>
#include<algorithm>
#include<vector>
 
int main(){
    std::vector<int> con{1, 5, -7, -19, -6, -4, 0, -6};
    auto rit=std::find_if(con.rbegin(), con.rend(), [](int x){return x>0;});
    if(rit!=con.rend()&&rit!=--con.rend()){
        std::cout<<"Last positive= "<<*rit<<"\n";
        std::cout<<"sum= "<<std::accumulate(rit+1, con.rend(), 0);
    }
}
bolon
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
25.02.2011, 21:47  [ТС]     Вектор! #4
Спасибо большое!
Yandex
Объявления
25.02.2011, 21:47     Вектор!
Ответ Создать тему
Опции темы

Текущее время: 14:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru