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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
Ivan2012
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 19
#1

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

24.06.2012, 17:30. Просмотров 3213. Ответов 11
Метки нет (Все метки)

Помогите, пожалуйста, решить задачу в с++. Как удалить все простые числа из массива?
Начало программы есть:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <iomanip.h>
 
void create(int a[100],int &n);
int fibonacci (int, int [100]);
void print(int a[100],int n);
void sort_matrix(int m,int n)
void sozdat_matrix(int m,int n)
//-------------------------------------------
void main(){
 srand(time(NULL));
 
int a[100];
int n,i,j;
 
create(a,n);
print(a,n);
 
 
system("pause");
}
//----------------------------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2012, 17:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление всех простых чисел из массива (C++):

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

Сортировка массива, удаление простых чисел - C++
.Задан массив Z(m) целых чисел. Если массив является знакочередующимся, то упорядочить его в порядке возрастания модулей, если нет, то...

Удаление простых положительных чисел из массива - C++
написал программу на си которая должна удалять простые положительные числа из массива. for(i=0;i&lt;N;i++) {if(a&gt;0) { b=a; ...

Массив с++ (удаление простых чисел) - C++
Нужно написать програмку : Задан массив Z(k) целых чисел. Записать все элементы массива Z в массив Y, записав числа в обратном порядке...

Линейный список. Удаление простых чисел из него - C++
Построить линейный список из входной последовательности чисел. Удалить из него все простые числа #include &lt;iostream&gt; #include...

Вывод всех простых чисел. - C++
Задали задачку. Вывести все простые числа от 1 до n Примерно сделал на паскале. До 100 все работает а дальше он не может ворочать...

11
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
24.06.2012, 17:43 #2
Цитата Сообщение от Ivan2012 Посмотреть сообщение
Помогите, пожалуйста, решить задачу в с++. Как удалить все простые числа из массива?
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
#include <iostream>
#include <cmath>
 
void DeleteElement(int* arr, size_t length, size_t pos) {
 
    for( ; pos < length - 1; ++pos) arr[pos] = arr[pos + 1];
}
 
bool IsPrime(int num) {
 
    if(2 == num) return true;
    if(!(num%2)) return false;
 
    for(int i = 2; i <= sqrt((double)num); ++i) {
        if(!(num%i)) return false;
    }
 
    return true;
}
 
int main() {
 
    int *arr;
    size_t length;
 
    std::cout << "Array size: ";
    std::cin >> length;
    arr = new int[length];
 
    for(size_t i(0); i < length; ++i) {
        std::cout << "A[" << i + 1 << "] = ";
        std::cin >> arr[i];
    }
 
    for(size_t i(0); i < length; ++i) {
        if(IsPrime(arr[i])) {
            DeleteElement(arr, length, i);
            --length;
        }
    }
 
    for(size_t i(0); i < length; ++i) {
        std::cout << arr[i] << ' ';
    }
 
    return 0;
}
1
Ivan2012
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 19
24.06.2012, 17:43  [ТС] #3
он мне нужет, удаление простых чисел это только часть программы будет
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
24.06.2012, 17:43 #4
Ivan2012, проверяй остаток от деления на делители от 2 до самого числа с включением. если там будет деление без остатка, значит нашел непростое число)
0
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
24.06.2012, 17:57 #5
Цитата Сообщение от Ivan2012 Посмотреть сообщение
удаление все простых чисел из массива
А когда простое число удаляется из массива, то вместо этого числа что записывается?
0
Ivan2012
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 19
25.06.2012, 09:53  [ТС] #6
Полная версия задачи:
Постановка задачи:
1. Используя функции сформировать с помощью ДСЧ одномерный массив и вывести его на печать.
2. Выполнить обработку одномерного массива в соответствии с вариантом, используя функции, результат вывести на печать.
3. Используя функции сформировать с помощью ДСЧ двумерный массив и вывести его на печать.
4. Выполнить обработку двумерного массива в соответствии с вариантом, используя функции, результат вывести на печать.
5. Ввести с клавиатуры строку символов и обработать ее в соответствии со своим вариантом, используя функции.
Задача:
Одномерный массив (Удалить все простые числа из массива.)
Двумерный массив (Отсортировать по убыванию все строки матрицы.)
Строки (Отсортировать слова в строке в лексикографическом порядке (по алфавиту).)
0
Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
25.06.2012, 11:01 #7
Цитата Сообщение от g-h Посмотреть сообщение
А когда простое число удаляется из массива, то вместо этого числа что записывается?
тут имеется ввиду что нужно переписать в новый массив но уже без простых чисел и меньшего размера
1
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.06.2012, 11:13 #8
Ivan2012, помножь всё на 4 и простых не будет.
1
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
26.06.2012, 02:36 #9
taras atavin, а на два умножить, не, не получится уже, да?

Ivan2012,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cmath>
 
bool is_prime(int number) {
   for (int i = std::sqrt(number); i >= 2; --i)
      if (number % i == 0)
         return false;
   return number != 1;
}
 
int main() {
   std::vector<int> array { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
   array.erase(std::remove_if(array.begin(), array.end(), is_prime), array.end());
   std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
}
Результат: http://liveworkspace.org/code/d7afc8...2166338a423459
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
26.06.2012, 04:04 #10
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
а на два умножить, не, не получится уже, да?
если 1 умножить на два или три, то получится простое число
2
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2012, 00:45 #11
Цитата Сообщение от defer Посмотреть сообщение
если 1 умножить на два или три, то получится простое число
Точно
0
Ivan2012
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 19
28.06.2012, 08:43  [ТС] #12
Как отсортировать слова в строке в лексикографическом порядке (по алфавиту)?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2012, 08:43
Привет! Вот еще темы с ответами:

Найти позиции всех простых чисел! - C++
С клавиатуры вводится 20 простых чисел, найти позиции всех простых чисел! # include&lt;iostream&gt; using namespace std; int main() { ...

Вывод всех простых чисел в диапазоне от 1 до 100 - C++
Написать функцию, определяющую, является ли введенное целое чис- ло простым или нет. (Число простое, если оно делится только на 1 и на...

Найти количество всех простых чисел на отрезке - C++
Решите пожалуйста, завтра необходимо сдать. Задание: Разработка нерекурсивных функции. Разработать функцию, которая для заданного...

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


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
28.06.2012, 08:43
Ответ Создать тему
Опции темы

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