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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Alex_And
0 / 0 / 0
Регистрация: 30.03.2012
Сообщений: 4
#1

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

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

Помогите закончить две задачи.
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2012, 07:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами (C++):

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

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

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

Найти сумму тех элементов массива, которые являются простыми числами - C++
Дан массив натуральных чисел А(N), значения элементов которого лежат в диапазоне . Найти сумму тех элементов массива, которые являются...

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

Найти все натуральные числа меньше N, которые одновременно являются числами Фибоначчи и простыми числами. - C++
Дано натуральное число N. Найти все натуральные числа меньше N, которые одновременно являются числами Фибоначчи и простыми числами. ...

2
Heidel
111 / 111 / 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;
}
1
Alexzac
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 14
03.06.2014, 03:51 #3
Добрый день!


Подскажите пожалуйста, а как будет выглядеть код, если для вынесения и сортировки использовать тоже отдельно написанные функции?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2014, 03:51
Привет! Вот еще темы с ответами:

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

Вычислить сумму тех членов последовательности, которые являются простыми числами - C++
Дана последовательность натуральных чисел длины n. Вычислить сумму тех из них, которые – простые числа.

Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию - C++
В мастрици С количество столбик в каждой строке случайным натуральным числом с интервала (a; b) но общее количество элементов ...

Отсортировать по возрастанию только положительные элементы массива - C++
Отсортировать по возрастанию только положительные элементы массива. Как объяснил преподаватель так чтобы положительные отсортировались а...


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

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

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