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

Определить количество простых чисел в массиве - C++

Восстановить пароль Регистрация
 
prostoMaks
0 / 0 / 0
Регистрация: 02.05.2011
Сообщений: 11
08.05.2011, 12:42     Определить количество простых чисел в массиве #1
Преобразовать заданный массив целых положительных чисел F(n) таким образом, чтобы цифры каждого его элемента были записаны в обратном порядке. Определить количество простых чисел в массиве до и после преобразования. После преобразования удалить из массива максимальный элемент

Помогите решить
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 12:42     Определить количество простых чисел в массиве
Посмотрите здесь:

C++ Найти в массиве количество простых чисел,больших суммы цифр первого числа
C++ Найти в одномерном массиве, состоящем из N целых чисел, количество простых элементов
C++ Функция, возвращающая количество простых чисел в массиве
Определить максимальное количество простых чисел в двумерной матрице C++
C++ Определить количество простых чисел в интервале
C++ Написать функцию, подсчитывающую количество простых чисел в переданном ей массиве
C++ Определить количество простых чисел
Найти количество простых чисел в массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.05.2011, 14:37     Определить количество простых чисел в массиве #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от prostoMaks Посмотреть сообщение
Преобразовать заданный массив целых положительных чисел F(n) таким образом, чтобы цифры каждого его элемента были записаны в обратном порядке. Определить количество простых чисел в массиве до и после преобразования. После преобразования удалить из массива максимальный элемент
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 <algorithm>
#include <vector>
 
bool is_prime(const int n){
  for(int i = 2; i <= n / 2; i++)
    if( !(n % i) )
      return false;
  return true;
}
 
void print_arr(std::vector<int> &_a){
  for(std::vector<int>::value_type i = 0; i < _a.size(); ++i)
    std::cout << _a[i] << ' ';
}
 
int main(){
  size_t n = 0, cnt_before, cnt_after;
  std::cout << "\n\nCount elements = ";
  std::cin >> n;
  std::vector<int> arr(n);
  for(std::vector<int>::value_type i = 0; i < n; ++i){
    std::cout << "\n" << i + 1 << " element = ";
    std::cin >> arr[i];
  }
  cnt_before = std::count_if(arr.begin(), arr.end(), is_prime);
  struct func{
    int operator() (int _n){
      int __n = _n;
      _n = 0;
      while(__n){
        _n = _n * 10 + __n % 10;
        __n /= 10;
      }
      return _n;
    }
  };
  std::transform(arr.begin(), arr.end(), arr.begin(), func());
  cnt_after = std::count_if(arr.begin(), arr.end(), is_prime);
  std::cout << "\n\nArray after transform: ";
  print_arr(arr);
  std::cout << "\n\nCount prime elements before transform = " << cnt_before
            << "\nCount prime elements after transform = " << cnt_after;
  arr.erase(std::remove(arr.begin(), arr.end(), *std::max_element(arr.begin(), arr.end())), arr.end());
  std::cout << "\n\nArray after remove max element: ";
  print_arr(arr);
  return 0;
}
prostoMaks
0 / 0 / 0
Регистрация: 02.05.2011
Сообщений: 11
08.05.2011, 15:37  [ТС]     Определить количество простых чисел в массиве #3
Цитата Сообщение от asics Посмотреть сообщение
std::transform(arr.begin(), arr.end(), arr.begin(), func());
эта строчка выдает ошибку, не могу понять почему
Yandex
Объявления
08.05.2011, 15:37     Определить количество простых чисел в массиве
Ответ Создать тему
Опции темы

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