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

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

Войти
Регистрация
Восстановить пароль
 
iamthewine
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
#1

Как заполнить массив числами, удовлетворяющими какому-то условию? - C++

15.09.2013, 16:05. Просмотров 638. Ответов 8
Метки нет (Все метки)

Здравствуйте, помогите, пожалуйста, только начинаю изучать С++.
Ситуация такая: Дано целое число, равное 2^32. Надо написать является ли число, введенное с консоли из промежутка от 1 до 2^32, простым. Это у меня написано.
Далее надо определить только сбалансированные простые числа (те, которые являются средним арифметическим между предыдущим и последующим простыми числами).
Есть идея все простые числа из промежутка закидывать в массив, а уже далее проверять на условие сбалансированного числа. Как это сделать?
Как заполнить массив числами, удовлетворяющими какому-то условию? Поиск привел только к заполнению массива с консоли, а это мне не подходит.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 16:05     Как заполнить массив числами, удовлетворяющими какому-то условию?
Посмотрите здесь:

Заполнить массив числами, удовлетворяющими условию - C++
не могу найти ошибку(думаю она где-то в циклах). мне надо в массив положить первые пять чисел которые не делятся, получается так, то что...

Заполнить массив элементами заданной квадратной матрицы, удовлетворяющими условию - C++
Дан массив A. Заполните массив В по следующему условию, если в строке массива А есть число меньше 0, тогда присвойте элементу...

Заполнить динамический массив случайными числами и реализовать функции работы с массивом согласно условию - C++
Всем доброго времени суток!) Уважаемые знатоки и пользователи, помогите, пожалуйста, написать следующую программу: Сформировать...

Как заполнить массив char случайными числами? - C++
Доброе утро! Пытаюсь заполнить массив CHAR случайными числами! пытался через rand_max.. не получается что не так делаю?

Как заполнить трехмерный массив случайными числами - C++
Добрый день, товарищи! Подскажите как заполнить трёхмерный массив случайными числами имеется код: int ***arr = new int**; ...

Как заполнить массив из 4 чисел числами от 1 до 4 без повторений - C++
Как мне заполнить массив при помощи рандома? Чтобы на выходе у меня были комбинации примерно такие. int Array =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
15.09.2013, 21:57     Как заполнить массив числами, удовлетворяющими какому-то условию? #2
Цитата Сообщение от iamthewine Посмотреть сообщение
Дано целое число, равное 2^32. Надо написать является ли число, введенное с консоли из промежутка от 1 до 2^32, простым. Это у меня написано.
Покажите что у вас написано.
iamthewine
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
16.09.2013, 09:38  [ТС]     Как заполнить массив числами, удовлетворяющими какому-то условию? #3
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 <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int lim = 4294967296;
int num;
 
float IsAPrimeNumber (int x) {
    int i;
    for (i = 2; i <= sqrtl(x); i++) {
        if (x % i == 0) {
            cout << "Число не простое" << "\n";
            system ("PAUSE");
            return 0;
        }
 
    }
    cout << "Число простое" << "\n";
    system ("PAUSE");
    return 0;
}
 
 
int main () {
    setlocale(LC_CTYPE, "");
    cout << "Введите натуральное число, меньшее 2^32 = 4294967296"<< "\n";
    cin >> num;
    if ((num <= 4294967296)&&(num>0)) {
        IsAPrimeNumber(num);
    }
    else {
        cout << "Ошибка! Число не лежит в множестве натуральных чисел или превышает лимит" << "\n";
        system ("PAUSE");
    }
 
}
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
16.09.2013, 16:43     Как заполнить массив числами, удовлетворяющими какому-то условию? #4
Посмотрите здесь.
Быстрая проверка натурального числа на простоту
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
16.09.2013, 17:33     Как заполнить массив числами, удовлетворяющими какому-то условию? #5
вот например - алгоритм проверяет все числа в заданном диапозоне : если число простое, то сохраняем его в векторе с простыми числами (этот же вектор используеться для проверки следующих чисел); параллельно проверяем сбалансированные простые числа.
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
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    //variables
    const int lim = 4294967296;
    int number;
    bool isPrime=true;
    vector <int> prime_numbers;
    prime_numbers.push_back(2);
    vector <int> bal_prime_numbers;
 
    cout<<"please enter a number between 1 and 2^32=4294967296"<<endl;
    cin>>number;
 
    for(int i=2;i<=number;++i)
    {
        for(int p:prime_numbers) // checks if i is a prime number
        {
            if(i%p==0)
            {
                    isPrime=false;
                    break;
            }
        }
        if(isPrime) 
        {
            prime_numbers.push_back(i);
            int size =prime_numbers.size();
            if((prime_numbers.size()>2) && ((double)(prime_numbers[size-3]+prime_numbers[size-1])/prime_numbers[size-2]==2))
            {
                bal_prime_numbers.push_back(prime_numbers[size-2]);
            }
        }
        isPrime=true;
    }
    cout<<"prime numbers"<<endl;
    for(int k:prime_numbers)
    {
        cout<<k<<" ";
    }
    cout<<endl<<"balanced prime numbers"<<endl;
    for(int k:bal_prime_numbers)
    {
        cout<<k<<" ";
    }
    cout<<endl;
    system("PAUSE");
}
iamthewine
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
16.09.2013, 20:19  [ТС]     Как заполнить массив числами, удовлетворяющими какому-то условию? #6
D3fend0r, спасибо вам огромное!
011
9 / 9 / 0
Регистрация: 28.11.2013
Сообщений: 152
06.03.2015, 20:24     Как заполнить массив числами, удовлетворяющими какому-то условию? #7
D3fend0r,
Не могли бы Вы пояснить, что записано на 20-ой строке? (for(int p:prime_numbers))
Я синтаксис не понял.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
06.03.2015, 20:35     Как заполнить массив числами, удовлетворяющими какому-то условию? #8
Цитата Сообщение от 011 Посмотреть сообщение
Не могли бы Вы пояснить, что записано на 20-ой строке? (for(int prime_numbers))
Я синтаксис не понял.
Это из стандарта C++11, называется range-based for, перебирает все элементы контейнера.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2015, 20:35     Как заполнить массив числами, удовлетворяющими какому-то условию?
Еще ссылки по теме:

Как заполнить массив случайными числами с плавающей точкой? - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; int main...

Как заполнить массив комплексными числами, не используя стандартный класс std::complex<double>? - C++
Короче, дана структура. Как заполнить массив комплексными числами, не используя стандартный класс std::complex&lt;double&gt;. struct...

Как заполнить массив рандомными дробными числами, если при следующем раскладе все равно выходят целые? - C++
float *pointer = new float; for (int i = 0; i &lt; a; i++) pointer = rand() % 20 + 1; for (int i = 0; i &lt; a; i++) { cout &lt;&lt;...

Заполнить массив по условию - C++
Привет, помогите KPACUBO заполнить массив так, чтобы последующий элемент был равен предыдущему. Подсчет начинается с единицы. У меня вот...


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

Или воспользуйтесь поиском по форуму:
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,420
06.03.2015, 20:35     Как заполнить массив числами, удовлетворяющими какому-то условию? #9
Цитата Сообщение от 011 Посмотреть сообщение
Я синтаксис не понял.
Это цикл for из C++11
http://www.cplusplus.com/doc/tutorial/control/
Yandex
Объявления
06.03.2015, 20:35     Как заполнить массив числами, удовлетворяющими какому-то условию?
Ответ Создать тему
Опции темы

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