0 / 0 / 0
Регистрация: 30.03.2012
Сообщений: 4
1

Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами

30.03.2012, 07:35. Показов 4120. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите закончить две задачи.
1. Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами(делятся на 1 и сами на себя).


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
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
 
void mass(int n)
{
     int a[100]; 
     int i;
     cout <<"Исходный массив:"<<"\n";
     srand(time(NULL));
     for  (i=1; i<=n; i++)
       {a[i]=rand()%50;
       cout << a[i] << " "; 
       }
}
 
int main()
{
    int n;
   cout << "Введите размерность массива n: "  ;
   cin >> n;
   mass(n);
   getch();
}


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
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
 
 
void mass(int n, int m)
{
 int a[100][100]; 
 int i;
 cout <<"Исходный массив:"<<"\n";
 srand(time(NULL));
  for  (i=0; i<n; i++){
       for (int j=0; j<m; j++){
       a[i][j]=rand()%50;
       cout << a[i][j] << "\t"; 
       }
        cout <<"\n"; 
  }  
 
}
 
 
int main()
{
int n,m;
cout << "Введите число строк: ";
cin >> n;
cout << "Введите число столбцов: ";
cin >> m;
mass(n,m);
 
getch();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2012, 07:35
Ответы с готовыми решениями:

Сформировать массив, поместив в него значения индексов тех элементов первого массива, которые являются простыми числами
Доброго времени суток. Мне дали задание:&quot;Дан целочисленный массив A. Сформировать массив B,...

Вычислить индексы и минимальное значение только тех сумм элементов массива, которые являются простыми числами.
Вычислить индексы и минимальное значение только тех сумм элементов массива (a1 + a2, a2 + a3, ...,...

Сформировать новый массив В таким образом чтобы в него вошли те элементы массива А, которые являются числами Фибоначи
в массиве А(55) лежат целые числа. Сформировать новый массив В таким образом чтобы в него вошли те...

Сформировать массив только из элементов заданного массива, являющихся простыми числами
Дан одномерный массив А. Построить функцию, ///формирующую массив только из простых чисел массива...

2
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
30.03.2012, 09:59 2
1 задача
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
 
//Функция заполняет масcив случайными положительными числами от 1 до 100
int Func1 (int *mas, int n)
{
    for (int i=0; i < n; ++i)
    {
        mas[i] = rand()%101;
        cout << mas[i] << " ";
    }
    cout << "\n";
    return 0;
}
 
int Func2 (int *mas, int n)
{
    //Поиск простых чисел в массиве
    int count = 0;
    int size = 0;
    
    for (int i = 0; i < n; ++i)
    {
        if (mas[i]>1)
        {
            for (int k = 2; k <= mas[i]; ++k)
            {
                if(mas[i]%k == 0)
                {
                    ++count;
                }
            }
                if(count==1)
                {
                    ++size;
                }
        }
        count = 0;
    }
        
    if(size == 0)
    {
        cout << "V massive net prostyh chisel\n";
    }
    else
    {
    //Вынесение всех простых чисел из исходного массива в отдельный массив
    
    int* prime;
    prime = new int[size];
    int p = 0;
    for (i = 0; i < n; ++i)
    {
        if (mas[i]>1)
        {
            for (int k = 2; k <= mas[i]; ++k)
            {
                if(mas[i]%k == 0)
                {
                    ++count;
                }
            }
                if(count==1)
                {
                    prime[p] = mas[i];
                    p++;
                }
        }
        count = 0;
    }
 
    //Сортировка простых чисел по возрастанию
    int c;
    do
        {
        c=0;
            for (i = 0; i < p-1; ++i)
            {
                if (prime[i] > prime[i+1])
                {
                    swap(prime[i], prime[i+1]);
                    ++c;
                }
            }
        }
    while (c!=0);
    
    for (int i=0; i < p; ++i)
    {
        cout << prime[i] << " ";
    }
    cout << "\n";
    delete[] prime;
    }
    return 0;
}
 
int main ()
{
    srand(time(NULL));
 
    int n;
    int* a;
    
    cout << "Vvedite razmernost' massiva n = ";
    cin >> n;
 
    a = new int [n];
    
    Func1 (a, n); //заполняет массив случайными положительными числами
    Func2 (a, n); //отбирает из массива простые числа и сортирует их по возрастанию
    delete[] a;
    return 0;
}
1
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 14
03.06.2014, 03:51 3
Добрый день!


Подскажите пожалуйста, а как будет выглядеть код, если для вынесения и сортировки использовать тоже отдельно написанные функции?
0
03.06.2014, 03:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2014, 03:51
Помогаю со студенческими работами здесь

Получить в файле g только те компоненты, которые являются простыми числами
Дан файл f, компоненты которого являются целыми числами. Получить в файле g только те компоненты,...

Сформировать массив В, из элементов массива А, которые являются простыми числами
Здраствуйте. Помогите подправить мой код. Условие задачи: Дан одномерный целочисленный массив А из...

Сформировать массив B так, чтобы в него вошли элементы массива А, индексы которых являются простыми числами
В массиве А(55) лежат целые числа. Сформировать массив B таким образом, чтобы в него вошли те...

Сформировать массив из всех делителей числа, которые являются простыми числами
Помогите, пожалуйста, написать программу на языке С. Буду признателен за помощь. Вот условие: С...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru