С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 13

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

15.10.2013, 01:05. Показов 6252. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам

дан массив целых чисел, удалить из массива все простые каждое четное число после удаления возвести в квадрат из каждого нечетного извлечь корень.Для определения четности\нечетности функция польз. простого числа тоже функция

Добавлено через 53 секунды
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
 using namespace std;
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;
 
    cout << "Array size: ";
    cin >> length;
    arr = new int[length];
 
    for(size_t i(0); i < length; ++i) 
    {
        cout << "A[" << i + 1 << "] = ";
        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)
    {
        cout << arr[i] << ' ';
    }
    system ("pause");
    return 0;
}
Добавлено через 44 секунды
есть только сортировка, остального вообще ничего не понял(((
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2013, 01:05
Ответы с готовыми решениями:

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

Удалить простые числа из массива
Добрый вечер) в общем помогите удалить на выходе простые числа из массива. #include &quot;iostream&quot; #include &quot;time.h&quot; ...

Удалить из массива простые числа используя указатель- С++
Даны целые числа а1,.....,аn, где n-целое положительное число(n&lt;100).Если в последовательности простые и непростые числа чередуются между...

7
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 01:18
Проверка на четность нечетность число%2==0
Для удаления нужно изменить размер массива, т.к. он через new надо выделить меньший по размеру массив переписать в него данные из старого массива которые не надо удалять, старый удалить (удалять delete[])
0
 Аватар для Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
15.10.2013, 01:20
dismay256, остальные задачи просты:
Вначале делаете 2 функции, они получают число и возвращают значения bool: простое/непростое число и четное/нечетное
1. Проходите по всем элементам массива и удаляете простые числа.
2. Снова проходите по массиву, если число в ячейке четное, возводите его в квадрат, если нечетное, то извлекаете корень.
При этом само собой, определять четность и простоту будете с помощью своих функций
1
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 01:22
А забыл, проверку на простое число сделай тупым прогоном всех чисел до половины проверяемого числа
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 13
15.10.2013, 11:05  [ТС]
Folko, помоги в реализации, если не труднно

Добавлено через 3 минуты
Folko, в реализации поможешь?
0
 Аватар для Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
15.10.2013, 12:23
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

dismay256, хорошо, минут через 5-10 скину решение

Добавлено через 1 час 17 минут
dismay256,
C++ (Qt)
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
#include <math.h>
 
bool isChetn (int x)
{
    return (x%2==0);
}
 
bool isSimple (int x)
{
 
    for (int i=2;i<x;i++)
    {
        if (x % i == 0) return false;
    }
    return true;
}
 
int main(int argc, char *argv[])
{
    QTextStream cout(stdout);
    QTextStream cin(stdin);
    int size;
    cin >> size;
    int a[size],b[size];
    for (int i=0;i<size;i++)
    {
        cout << "number " << i << endl;
        cin >> a[i];
    }
    int t = -1;
    for (int i=0;i<size;i++)
        if (isSimple(a[i]) == false)
        {
            t++;
            b[t] = a[i];
        }
    for (int i=0;i<=t;i++)
        if (isChetn(b[i])) b[i] = b[i]* b[i];
        else b[i] = sqrt(b[i]);
    for (int i=0;i<=t;i++) cout << b[i] << "  ";
    return 0;
}

Как то так. Функцию определения простого числа только проверить надо)
1
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 13
15.10.2013, 22:30  [ТС]
Folko,
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 "stdafx.h"
#include <iostream> 
#include <math.h>
#include <iomanip>
#include <time.h>
using namespace std;
 
 
bool odd(int value)
{
if (value %2==0)
    return false;
else 
    return true;
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(0));
    int arr[10];
    setlocale (0,"");
        for (int i=1;i<10;i++)
        {
            arr[i] = rand() % 100;
        }
            cout<<"Исходный массив:"; 
        for (int i=1;i<10;i++)
        {
            cout<<arr[i]<<" ";
        }
            cout<<"\nИзмененный массив:";
        for (int i=1;i<10;i++)
        {
        if (odd)
            {
                arr[i]=sqrt(arr[i]);
            }
        else
            {
                arr[i]=arr[i]*arr[i];
            }
        for (int i=1;i<10;i++)
        {
            cout<<arr[i]<<" ";
        }
        cout<<"\n";
    
    system ("pause");
    return 0;
}
вот что получилось у меня, но неправильно считает говнарь, что не так то???
0
 Аватар для Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
15.10.2013, 22:35
dismay256, а почему функцию odd вызываешь так странно? Ей значение надо передать. И еще, тебе же надо было вначале простые числа убрать из массива
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2013, 22:35
Помогаю со студенческими работами здесь

Реализовать сортировку массива: в начало поместить все простые числа, а затем все остальные
Ребят, не могу отсортировать массив. Нужно, чтобы сначала шли все простые числа из массива, а затем все остальные. Что не так? #include...

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

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

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

Задача про простые числа. Выпишите все простые числа, находящиеся в интервале между а и б
#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...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru