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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Alex_And
0 / 0 / 0
Регистрация: 30.03.2012
Сообщений: 4
30.03.2012, 07:35     Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами #1
Помогите закончить две задачи.
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2012, 07:35     Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами
Посмотрите здесь:

C++ Вывод на экран элементов массивов, которые являются простыми числами
Сформировать новый массив В таким образом чтобы в него вошли те элементы массива А, которые являются числами Фибоначи C++
Найти сумму тех элементов массива, которые являются простыми числами C++
C++ Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию
C++ Найти все натуральные числа меньше N, которые одновременно являются числами Фибоначчи и простыми числами.
Вычислить индексы и минимальное значение только тех сумм элементов массива, которые являются простыми числами. C++
Найти количество тех элементов массива, которые не являются простыми числами C++
Отсортировать элементы одномерного массива по возрастанию, используя метод прямого подбора C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
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;
}
Alexzac
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 14
03.06.2014, 03:51     Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами #3
Добрый день!


Подскажите пожалуйста, а как будет выглядеть код, если для вынесения и сортировки использовать тоже отдельно написанные функции?
Yandex
Объявления
03.06.2014, 03:51     Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами
Ответ Создать тему
Опции темы

Текущее время: 07:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru