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

Вывод массива в обратном порядке, простые числа

07.12.2014, 17:41. Показов 5717. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны целые числа а1,а2.......аn, где 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
49
50
51
52
53
54
#include <iostream>
#include <cstdlib>
using namespace std;
int n;
void Proverka(int*a);
int VivodMas(int*a);
int main()
{
    cout <<"n=";
    cin>>n;
    int *m = new int [n];
    for (int i=0; i<n; i++)
        m[i]=rand()%100+7;
    for (int i=0; i<n; i++)
    cout<<m[i]<<' ';
    Proverka(m);
    system ("pause");
    return 0;
}
 
void Proverka(int*a)
{
    for (int j=2;j<a[0]-1;j++)
        if (a[0]%j==0)
        {
            for (int i=0;i<n;i++)
        for (int j=2;j<a[i]-1;j++)
        
            if (a[i]%j==0)  
        cout<<a[i];
        }
        else 
        {
            for (int i=0;i<n;i++)
        for (int j=2;j<a[i]-1;j++)
        
            if (a[i]%j!=0)
              cout<<a[i];
 
        }
    return;
}
int VivodMas(int*a)
{
    double b;
    for (int i=0; i<n; i++)
    {
        b=a[n-1-i];
        a[n-1-i]=a[i];
        a[n-1-i]=b;
    }
        return *a;
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2014, 17:41
Ответы с готовыми решениями:

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

Программа, выводящая в обратном порядке все числа от 1 до 50, которые кратные 4 и все простые числа от 1 до 50
нужно написать программу, выводящую в обратном порядке все числа от 1 до 50, которые кратные 4 и все простые числа от 1 до 50

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

2
0 / 0 / 1
Регистрация: 15.10.2014
Сообщений: 29
17.12.2014, 00:59  [ТС]
Помогите пожалуйста. В массиве, если первое число простое, вывести массив из простых, если первое не простое, вывести массив из не простых.
Программа работает, но в результате работы функции выводится один ненужный адрес.
Помогите пожалуйста, спасибо

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
#include <iostream>
#include <cstdlib>
using namespace std;
int n;
void Found_Prost(int*a);
void Found_Ne_Prost(int*a);
void VivodMas(int*b);
 
int main()
{
    cout <<"n=";
    cin>>n;
    int *m = new int [n];
 
    for (int i=0; i<n; i++)
        m[i]=rand()%100+14;
    for (int i=0; i<n; i++)
    cout<<m[i]<<' ';
    
     for (int j=2;j<m[0]-1;j++)
         if (m[0]%j==0)
         {
        Found_Ne_Prost(m);
         }
         else
        Found_Prost(m);
    
     system ("pause");
    return 0;
}
 
void Found_Prost(int*a)
{
   int *prost = new int [n];
    for (int i=0;i<n;i++)
    
        for (int j=2;j<a[i]-1;j++)
        
            if (a[i]%j==0)
                prost[i]=a[i];
    
 
        VivodMas (prost);
}
 
void Found_Ne_Prost(int*a)
{
   int *ne_prost = new int [n];
    for (int i=0;i<n;i++)
 
        for (int j=2;j<a[i]-1;j++)
        
            if (a[i]%j==0)
                ne_prost[i]=a[i];       
    VivodMas (ne_prost);    
}
 
void VivodMas (int *b)
{
    cout<<endl;
    for (int i=0;i<n;i++)
        cout<<b[i]<<" ";
    cout<<endl;
for(int i = n - 1; i >= 0; --i)
    cout<<b[i]<<" ";
    system ("pause");
}
0
91 / 74 / 81
Регистрация: 07.12.2014
Сообщений: 303
17.12.2014, 07:49
Цитата Сообщение от Ирина 379 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Found_Prost(int*a)
{
   int *prost = new int [n];
    for (int i=0;i<n;i++)
    
        for (int j=2;j<a[i]-1;j++)
        
            if (a[i]%j==0)
                prost[i]=a[i];
    
 
        VivodMas (prost);
}
эта функция не будет работать корректно, потому что она пытается затолкнуть элемент в массив непростых чисел, допустим, число 21 из обрабатываемого массива при значении j=3, потому как результат значения 0.
Логичнее поставить здесь какой-то значок, и в тот момент, когда, все таки такая ситуация появляется
Цитата Сообщение от Ирина 379 Посмотреть сообщение
if (a[i]%j==0)
уводить флажок в неправду, по выходу из цикла проверить флажок на истинность, и, если он все еще правда, занести проверенный элемент в буферный массив.
Кстати, для нового массива и в первой и во второй функции необходима своя нумерация, а то он у Вса будет "дырявым"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2014, 07:49
Помогаю со студенческими работами здесь

Записать числа в обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке
Вводится 5 чисел. Требуется записать их в обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке. Входные...

Вывести числа обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке
Добрый день. Не могу понять алгоритм решения данной задачи, помогите пожалуйста. Заданы пять чисел. Напишите программу, которая...

Вывести числа в обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке
Чтобы Вовочка не скучал на уроке информатики, Иван Иваныч специально для него к каждому уроку готовил одну каверзную задачу. Сегодня он...

вывод массива в обратном порядке
Пробовал по разному. Никак не получается отразить массив в обратном порядке. Например, вводишь 2 5 9 7 1 5, а должно выдавать 5 1 7 9 5...

Рекурсия, вывод цифр числа в обратном порядке
как написать функцию для вывода на экран цифр натурального числа в обратном порядке с помощью рекурсии?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 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 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru