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

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

Войти
Регистрация
Восстановить пароль
 
*::Мария::*
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 4
#1

Класс-Контейнер Вектор - C++

13.03.2011, 17:46. Просмотров 767. Ответов 4
Метки нет (Все метки)

I Дана последовательность целых чисел
Подсчитать сумму элиментов, расположенных между минимальным и максимальным элементами (минимальный и максимальный элемент в массиве единственные). Если минимальный элемент встречается позже максимального, то выдать сообщение об этом.

II Дана последовательность целых чисел
Удалить из массива все элементы, в записи которых все цыфры различны.

Помогите пожалуйста с решением .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 17:46     Класс-Контейнер Вектор
Посмотрите здесь:

Класс-Контейнер Вектор - C++
Как подсчитать в векторе из целых чисел количество максимальных элементов?

Класс-контейнер вектор - C++
как в векторе определить является ли сумма элементов простым числом??

Класс-Контейнер Вектор - C++
Как подсчитать в векторе количество максимальных элементов?

Класс-Контейнер Вектор - C++
Вставить новый элемент после всех элементов, кратных своему номеру

Класс-Контейнер Вектор - C++
Подскажите пожалуйста, как заполнить вектор латинским алфавитом?

удалить из массива повторяющиеся элементы, оставив только их первые вхождения. класс-контейнер вектор - C++
Добрый день!!! Не могли бы помочь написать программу на С++ при помощи класса-контейнера вектора. вот код)) Заранее спасибо! #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
13.03.2011, 18:01     Класс-Контейнер Вектор #2
Цитата Сообщение от *::Мария::* Посмотреть сообщение
Дана последовательность целых чисел
Удалить из массива все элементы, в записи которых все цыфры различны.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iterator>
#include <string>
 
bool chek(int num){
  std::ostringstream ost;
  ost << num;
  std::string num_str = ost.str(), _num_str = num_str;
  std::string::iterator it = std::unique(num_str.begin(), num_str.end());
  num_str.resize(it - num_str.begin());
  return num_str == _num_str;
}
 
int main(){
  std::vector<int> vec( (std::istream_iterator<int>(std::cin)), std::istream_iterator<int>() );
  for(std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
    if(chek(*it)){
      vec.erase(it);
      --it;
    }
  for(std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
    std::cout << *it << ' ';
  return 0;
}
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
13.03.2011, 19:16     Класс-Контейнер Вектор #3
Цитата Сообщение от *::Мария::* Посмотреть сообщение
II Дана последовательность целых чисел
Удалить из массива все элементы, в записи которых все цыфры различны.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <algorithm>
#include <sstream>
#include <vector>
#include <iterator>
#include <string>
 
struct isAllDigitsUnique
{
      bool operator()(int i) const
      {
     std::ostringstream iss;
     iss << i;
     std::string t = iss.str(); 
 
     std::sort(t.begin(), t.end());
         
     return std::adjacent_find(t.begin(), t.end()) == t.end();
      }
};
 
int main()
{
   std::istream_iterator<int> inputBegin(std::cin);
   std::istream_iterator<int> inputEnd;
         
   std::vector<int> v(inputBegin, inputEnd);    
 
   v.erase(std::remove_if(v.begin(), v.end(), 
              isAllDigitsUnique()), v.end());
 
   std::copy(v.begin(), v.end(), 
         std::ostream_iterator<int>(std::cout, " "));
 
   std::cout << '\n';
   
   return 0;
}
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193
13.03.2011, 20:24     Класс-Контейнер Вектор #4
Дана последовательность целых чисел
Подсчитать сумму элиментов, расположенных между минимальным и максимальным элементами (минимальный и максимальный элемент в массиве единственные). Если минимальный элемент встречается позже максимального, то выдать сообщение об этом.

решил попробывать поработать с STL.

Не нашел не какой функции для
"Если минимальный элемент встречается позже максимального, то выдать сообщение об этом."

Получился вот такой быдлокод
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main(int argc, char *argv[]) {
    
    const int forSortData[] = {100, 32, 71, 12, 45, 26, 80, 53, 33};
    std::vector<int> forSort(forSortData, forSortData + sizeof(forSortData) / sizeof(int));
    std::sort(forSort.begin(), forSort.end());
 
    const int* pMin = std::search_n(forSortData, 
                            forSortData + sizeof(forSortData) / sizeof(int),
                            1, 
                                forSort[0]);
 
    const int* pMax = std::search_n(forSortData, 
                             forSortData + sizeof(forSortData) / sizeof(int),
                             1, 
                             forSort[(sizeof(forSortData) / sizeof(int)) - 1]);
 
 
    if(pMin > pMax) std::cerr << "min pos > max" << std::endl;
 
    int init = 0;
    std::cout << std::accumulate(forSort.begin() + 1, forSort.end() - 1, init) << std::endl;
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2011, 21:25     Класс-Контейнер Вектор
Еще ссылки по теме:

БД.Контейнер - Вектор. - C++
Условие: Написать программу для решения задачи. Для хранения данных использовать контейнер. В качестве контейнера использовать...

Добавление значения в контейнер вектор, находящийся в map - C++
Возникла проблема: есть файл std формата: Миша 5 5 2 3 Влад 0 3 3 4 и т.д. Из него считываются данные в map &lt;string,vector&gt;. Нужно...

класс-контейнер - C++
ArrayList — реализует интерфейс List. Как известно, в Java массивы имеют фиксированную длину, и после того как массив создан, он не может...

Полиморфизм, класс-контейнер - C++
Доброго времени суток. Есть базовый класс и три наследника. Необходимо создать класс-контейнер, владеющий динамическим списком объектов,...

С помощью cin.getline считать все строки файла в контейнер (вектор или очередь) - C++
Можете пожалуйсто написать код, где можно с помощью cin.getline считать все строки файла в контейнер (вектор или очередь), потом из...

Класс-контейнер(абстракция текста) - C++
Необходимо создать класс-контейнер, который является абстракцией текста. Если я правильно понял, то мне необходимо создать класс...


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

Или воспользуйтесь поиском по форуму:
*::Мария::*
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 4
13.03.2011, 21:25  [ТС]     Класс-Контейнер Вектор #5
спасибо вам Огромное!!!
Yandex
Объявления
13.03.2011, 21:25     Класс-Контейнер Вектор
Ответ Создать тему
Опции темы

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