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

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

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

Удалить простые числа из массива - C++

17.12.2013, 06:21. Просмотров 436. Ответов 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 "iostream"
#include "time.h"
#include "math.h"
using namespace std;
 
    
void SearchPrimeNumbers(int mass[], int N) 
{int i, d, n,f;
for (i=0; i<N; i++)
{
    n=mass[i];
    f=0;
    for (d=2; d*d<=n; d++)
        if (n%d==0)
        {
            f=1;
                break;
        }
    if(!f)
      printf("%d ", mass[i]);
}
}
 
int main()
{
    setlocale(LC_ALL,"Russian"); //ïîäêëþ÷åГ*ГЁГҐ ðóññêîé áèáëèîòåêè
    int n,i,N;
    
    cout << "âûâîä Г¬Г*Г±Г±ГЁГўГ*=>" <<endl ;
    cin >>n;
    int *mass = new int [n]; // îáüÿâëÿåì äèГ*Г*ìè÷åñêèé Г¬Г*Г±Г±ГЁГў
    srand(time(NULL)); // ГґГіГ*êöèÿ ГЈГҐГ*åðèðóåò Г·ГЁГ±Г«Г* ГўГ§Г*âèñèìîñòè îò âðåìåГ*ГЁ Г*Г* êîìïüþòåðå
    cout << "Г¬Г*Г±Г±Г±ГЁГў"<<endl;
 
        for (i=0;i<n;i++){
        mass[i]= -50+rand()%100; //Г°Г*Г*äîìГ*ûå Г·ГЁГ±Г«Г*
        cout<<i<<")"<<mass[i]<<"  ";}
 
 
for (i=1;i<n;i++){
    if ((mass[i-1]>0)&&(mass[i]>0) || (mass[i-1]<0)&&(mass[i]<0)){;break;}  // ïðîâåðêГ* Г*Г* Г§Г*Г*êî÷åðåäîâГ*Г*ГЁГҐ
}
    if (i==n) {
              for (int j=0;j<n;j++){
                                    mass[j]=abs(mass[j]); // abs - ìîäóëü.
                                    }
              for (int k=n-1;k>=0;k--)
                  {
                   for (int p=n-2;p>=0;p--)
                       {
                        if(mass[p]>mass[p+1])
                                             {
                         int tmp=mass[p];
                         mass[p]=mass[p+1];
                         mass[p+1]=tmp;
                                           }
                         }
  }
    }else {cout<<endl;
        for(int i=0; i<n-1; i++)
        for(int j=0; j<n-i-1; j++)
            if(mass[j]>mass[j+1])
            {
                int tmp=mass[j]; mass[j]=mass[j+1]; mass[j+1]=tmp;
            }
            for(int i = 2; i < n; i++)  // 
     {
         for (int j = 2; j <= (i/j); j++) {
             if(!(i%j)) break; // 
         if(j > (i/j) ) cout <<mass[i] << " ";  // 
     } 
            }}
    
    
    cout<<endl;
    for (int i=0;i<n;i++){
    cout<<mass[i]<<"  ";}
    system ("PAUSE");
}
Добавлено через 8 часов 19 минут
up
очень нужно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 06:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить простые числа из массива (C++):

Удалить из массива все простые числа - C++
8-) дан массив целых чисел, удалить из массива все простые каждое четное число после удаления возвести в квадрат из каждого нечетного...

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

Задача про простые числа. Выпишите все простые числа, находящиеся в интервале между а и б - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using std::cout; using std::cin; using...

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...

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

Удалить все простые числа и найти среднее арифметическое до и после удаления простых чисел - C++
Помогите пожалуйста разобрать ошибки и дописать программу. Ошибки: Функции должны возвращать значение Программа: Удалить все простые...

2
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
17.12.2013, 06:31 #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
#include <iostream>
#include <cstdlib>
using namespace std;
#define n 10
int main(){
    int mas[n], count, tmp = 0;
    int *out = new int[n];
    for(int i = 0; i < n; i++){
        mas[i] = rand()% 50 + 1;
        cout<<mas[i]<<" ";
        count = 0;
        for(int j = 2; j <= 50; j++){
            if(mas[i] % j == 0)
                count ++;
        }
        if(count > 1){
            out[tmp] = mas[i];
            tmp ++;
        }
    }
    cout<<endl;
    for(int i = 0; i < tmp; i++)
        cout<<out[i]<<" ";
return 0;
}
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 07:13 #3
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
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
 
bool is_prime(const int &value) {
    for (int i = 2; i * i <= value; ++i) {
        if (value % i == 0) return false;
    }
    return true;
}
 
int main()
{
    vector<int> v, res;
    // init v here
    
    vector<int>::iterator it = copy_if(v.begin(), v.end(), res.begin(),
        [](const int &value){ return !is_prime(value); });
    res.resize(it - res.begin());
    // res - filtered array
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 07:13
Привет! Вот еще темы с ответами:

В заданной последовательности удалить простые числа, расположив прочие элементы в порядке, обратном исходному - C++
Даны целые числа {a}_{1},...{a}_{n} где n - целое положительное число (n\leq 100). Если в последовательности простые и непростые числа...

Вывести простые числа из массива - C++
Вообщем не пойму, почему не работает. Для определения простое ли число использовал эту программу int main () { int n; ...

Простые числа исходного одномерного массива - C++
Поменять местами максимальный и минимальный элементы среди простых чисел исходного одномерного массива. Результат вывести. помогите...

Вывести простые числа одномерного массива - C++
Помогите, нужно вывести на экран простые числа одномерного массива. При вызове функции поиска простых чисел на экран выводятся только нули....


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

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

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