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

Подсчитать число повторяющихся отрицательных элементов массива A[n] - C++

Восстановить пароль Регистрация
 
Niknamer
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 32
08.06.2016, 10:58     Подсчитать число повторяющихся отрицательных элементов массива A[n] #1
1.Подсчитать число повторяющихся отрицательных элементов массива A[n].
2.Вычислить разность наибольшего и наименьшего элемента массива A[n,m].

Будьте так добры, помогите решить задачку. Если можно с комментариями)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 10:58     Подсчитать число повторяющихся отрицательных элементов массива A[n]
Посмотрите здесь:

Подсчитать сумму отрицательных элементов массива 5х8 C++
C++ Подсчитать число элементов, входящих в непрерывные последовательности отрицательных чисел
C++ Подсчитать число отрицательных элементов матрицы в отмеченых строках
C++ Подсчитать число отрицательных элементов матрицы
1. Подсчитать число и сумму положительных, число и произведение отрицательных элементов заданного массива A(N) C++
C++ Подсчитать число отрицательных элементов матрицы. Почему работает не правильно?
C++ Одномерный массив, подсчитать число положительных, отрицательных и нулевых элементов
Найти число повторяющихся элементов массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5352 / 1735 / 320
Регистрация: 10.12.2010
Сообщений: 5,120
Записей в блоге: 3
08.06.2016, 11:58     Подсчитать число повторяющихся отрицательных элементов массива A[n] #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
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
 
// comparator
bool IsNonNegative(const int a)
{
  return (a >= 0);
}
 
size_t CountRepeatingNegatives(int arr[], const size_t n)
{
  std::vector<int> vec(n);
  vec.assign(arr, arr + n);
 
  // deleting all non-negative elements
  vec.erase(std::remove_if(vec.begin(), vec.end(), IsNonNegative));
 
  // constructing map from remaining
  std::map<int, int> counts;
  for (int i = 0; i < vec.size(); i++) counts[vec[i]]++;
 
  size_t result = 0;
 
  // summing all counts
  for (auto it = counts.cbegin(); it != counts.cend(); ++it)
  {
    if (it->second > 1) result += it->second;    
  }
 
  return result;
}
 
int CountMinMaxDelta(int arr[], const size_t n)
{
  return *std::max_element(arr, arr + n) - *std::min_element(arr, arr + n);
}
 
int main()
{
  int a[] = {-1, -2, -3, -1, 0, -2, -4, -4, 100, 200, 300, 400};
 
  std::cout << "Repeating negatives count = " <<CountRepeatingNegatives(a, sizeof(a) / sizeof(*a))
    << ", max - min =  " << CountMinMaxDelta(a, sizeof(a) / sizeof(*a)) << std::endl;
 
  return 0;
}
Yandex
Объявления
08.06.2016, 11:58     Подсчитать число повторяющихся отрицательных элементов массива A[n]
Ответ Создать тему
Опции темы

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