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

Функция для удаления из массива простых чисел - C++

Восстановить пароль Регистрация
 
nikita7991
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 120
07.05.2014, 14:13     Функция для удаления из массива простых чисел #1
Написать функцию которая удаляет все простые числа из массива X[N].И вывести массив без простых чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 14:13     Функция для удаления из массива простых чисел
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
07.05.2014, 14:23     Функция для удаления из массива простых чисел #2
nikita7991,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<cmath>
#include<vector>
#include<iterator>
#include<algorithm>
bool prime(int number)
{
    for(int i=2; i<=sqrt(number); ++i)
        if(number%i==0)return false;
    return true;
}
int main()
{
    std::vector <int> ivec = {1,2,3,6,3,8,4,7,5,8,4};
    std::copy(ivec.begin(),ivec.end(),std::ostream_iterator <int> (std::cout," "));
    ivec.erase(std::remove_if(ivec.begin(),ivec.end(),prime),ivec.end());
    std::cout<<"\nnew: ";
    std::copy(ivec.begin(),ivec.end(),std::ostream_iterator <int> (std::cout," "));
}
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
07.05.2014, 14:59     Функция для удаления из массива простых чисел #3
cooller, автору нужно, скорее всего, написать самому функцию которая удалит простые числа, а не вызвать стандартную функцию, которая это сделает.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
07.05.2014, 15:01     Функция для удаления из массива простых чисел #4
Цитата Сообщение от _script_ Посмотреть сообщение
автору нужно, скорее всего, написать самому функцию
вот пусть сам и пишет
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
07.05.2014, 15:18     Функция для удаления из массива простых чисел #5
nikita7991, Вот так вот можно сделать)
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
//Проверка на простоту
bool isPrime(int n)
{
    for(int i=2; i<=sqrt(n); i++)
        if(n%i==0)
            return false;
    return true;
}
 
//Функция удаления простых чисел
void RemovePrime(int *A,int &n)
{
    int *temp=new int[n];
    int k=0;
    for (int i=0; i+k<n;)
        if (isPrime(A[i+k]))
            k++;
        else
        {
            temp[i]=A[i+k];
            i++;
        }
    n-=k;
    delete []A;
    A=new int[n];
    for (int i=0; i<n; i++)
        A[i]=temp[i];
}
 
int main()
{
    int n;
    cout <<"n=";
    cin >> n;
    int *A=new int[n];
    cout <<"Enter array: ";
    for (int i=0; i<n; i++)
        cin>>A[i];
 
    RemovePrime(A,n);
 
    cout <<"\nNew array: ";
    for (int i=0; i<n; i++)
        cout <<A[i]<<' ';
 
    return 0;
}
Yandex
Объявления
07.05.2014, 15:18     Функция для удаления из массива простых чисел
Ответ Создать тему
Опции темы

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