Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Basek
2 / 2 / 1
Регистрация: 11.11.2010
Сообщений: 87
#1

Вектор - C++

03.03.2011, 17:23. Просмотров 570. Ответов 4
Метки нет (Все метки)

Помогите,пожалуйста с решением лабораторной!!!

Вектор В[1:15] сформировать из целых случайных чисел в диапазоне [-10 10].
а) найти произведение элементов в диапазоне [-3,3] и сумму положительных элементов.
б) удалить минимальный элемент вектора.
в) заменить максимальный элемент вектора среднеарифметическим значением последних 15 элементов.
г) поменять местами максимальные элементы из первых 10 и последних десяти элементов вектора.

Заранее дблагодарю откликнувшихся!)

Добавлено через 5 часов 42 минуты
Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2011, 17:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вектор (C++):

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс "вектор" с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы - C++
Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы. Безопасный вектор определяет переменные нижний и верхний...

матрица на вектор, вроде правильно, а вектор на матрицу? посмотрите пожалуйста? - C++
#include <iostream> #include <iomanip> #include <cstdlib> #include <ctime> using namespace std; int main() { ...

Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb. - C++
Привет. Не могу разобратся, вот задание: Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.

Почему матрица на вектор умножается быстрее чем вектор на матрицу? - C++
Почему матрица на вектор умножается быстрее чем вектор на матрицу?

Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы - C++
Помогите не знаю как сделать! Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы. Безопасный...

4
lemegeton
2928 / 1357 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
03.03.2011, 23:48 #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <cstdio>
#include <ctime>
#include <cstdlib>
 
#include <vector>
#include <algorithm>
#include <numeric>
 
 
class RandomGenerator {
 public:
  RandomGenerator(int min, int  max) : min_(min), max_(max) {
    srand(time(NULL));
  }
  inline int operator()() {
    return rand() % (max_ - min_ + 1) + min_;
  }
 private:
  int min_, max_;
};
 
int MultiplyInRange(int a, int b) {
  return ((b >= -3 && b <= 3) ? a * b : a);
}
 
int SumPositive(int a, int b) {
  return ((b > 0) ? a + b : a);
}
 
void Print(int a) {
  printf("%4d", a);
}
 
int main(int argc, char *argv[]) {
  std::vector<int> array(15);
 
  std::generate(array.begin(), array.end(), RandomGenerator(-10, 10));
 
  std::for_each(array.begin(), array.end(), Print); printf("\n");
 
  // произведение элементов в диапазоне [-3,3]
  int multiplied   = std::accumulate(array.begin(), array.end(),
                                     1, MultiplyInRange);
 
  // сумма положительных элементов
  int sum_positive = std::accumulate(array.begin(), array.end(),
                                     0, SumPositive);
 
  printf("Mult [-3:3]:  %3d\nSum positive: %3d\n", multiplied, sum_positive);
 
  // удалить минимальный элемент вектора
  array.erase(std::min_element(array.begin(), array.end()));
 
  // показать
  std::for_each(array.begin(), array.end(), Print); printf("\n");
 
  // среднее арифметическое всех (14) эелементов массива
  float average = std::accumulate(array.begin(), array.end(), 0) /
                  static_cast<float>(array.size());
 
  // заменить максимальный элемент вектора среднеарифметическим
  // значением последних 15 элементов
  *std::max_element(array.begin(), array.end()) = average;
 
  // показать
  std::for_each(array.begin(), array.end(), Print); printf("\n");
 
  std::vector<int>::iterator max_first_ten = std::max_element(array.begin(),
                                             array.begin() + 10);
  std::vector<int>::iterator max_last_ten = std::max_element(array.end() - 10,
                                             array.end());
  // поменять местами максимальные элементы из первых 10 и последних
  // десяти элементов вектора
  std::swap(*max_first_ten, *max_last_ten);
 
  // показать
  std::for_each(array.begin(), array.end(), Print); printf("\n");
  return 0;
}
1
Basek
2 / 2 / 1
Регистрация: 11.11.2010
Сообщений: 87
10.03.2011, 13:31  [ТС] #3
А можете преобразовать код,для последующей работы с ним в Codelite 2.2?
0
lemegeton
2928 / 1357 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
10.03.2011, 17:26 #4
Это как?
0
Basek
2 / 2 / 1
Регистрация: 11.11.2010
Сообщений: 87
17.03.2011, 02:26  [ТС] #5
Это код на Си или на Си++???
Если на Си++,то можете его под Си переделать?

Что это за библиотеки???

#include <ctime>
#include <cstdlib>

#include <vector>
#include <algorithm>
#include <numeric>


Еще непонятен вот этот абзац

class RandomGenerator {
public:
RandomGenerator(int min, int max) : min_(min), max_(max) {
srand(time(NULL));
}
inline int operator()() {
return rand() % (max_ - min_ + 1) + min_;
}
private:
int min_, max_;
};


int MultiplyInRange(int a, int b) {
return ((b >= -3 && b <= 3) ? a * b : a);
}

И можно ли этот код написать проще???
0
17.03.2011, 02:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2011, 02:26
Привет! Вот еще темы с ответами:

Вектор с неизвестным количеством чисел преобразовать в другой вектор, где числа будут стоять по возрастанию - C++
Вектор с неизвестным количеством чисел нужно превратить в другой вектор, где числа будут стоять по возрастанию. Мне код не столько нужен,...

Считать вектор из файла, записать вектор в файл - C++
Доброго времени суток. Программа должна считывать числа из заданного файла, потом записывать в другой файл вектор, в котором каждый элемент...

задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных - C++
задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных...

контейнер -вектор вложеный в вектор - C++
Помогите, пожалуйста найти ошибку. Есть строка типа string - обычное предложение из слов, разделённые пробелами. Мне нужно записать это...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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