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

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

Войти
Регистрация
Восстановить пароль
 
Юличка1
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 4
#1

нахождение всех совершенных чисел среди элементов целочисленного массива ( С++ ) - C++

08.02.2014, 14:58. Просмотров 855. Ответов 6
Метки нет (Все метки)

Привет всем))) Помогите пожалуйста!
Разработать программу для нахождения всех совершенных чисел среди элементов целочисленного массива.Массив заполнить с помощью генератора случайных чисел.С++
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 14:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нахождение всех совершенных чисел среди элементов целочисленного массива ( С++ ) (C++):

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

Нахождение наибольшего и наименьшего элементов целочисленного массива - C++
5)Составить программу для нахождения и вывода на экран номера наибольшего и наименьшего элементов целочисленного массива С...

Среди отрицательных элементов целочисленного массива найти максимальный по модулю - C++
Помогите, пожалуйста:( Для заданного массива целых чисел составьте программу для нахождения отрицательного элемента массива, имеющего...

Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х - C++
Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х. Удалить из массива все...

Дан файл целых чисел. айти среди этих чисел те, что больше за среднее арифметическое суммы всех элементов - C++
дано файл целых чисел A1,....,An, которые упорядочены за спаданием. Найти среди этих чисел те , что больше за среднее арифметическое...

Написать программу по выводу всех совершенных чисел до заданного - C++
Нужно написать программу по выводу всех совершенных чисел до заданного n! Я новичок, поэтому не пишите, пожалуйста, очень сложных кодов....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Чистый
08.02.2014, 15:22
  #2
 Комментарий модератора 

Тема перенесена из Qt
0
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
08.02.2014, 15:36 #3
Вот это напечатает, все совершенные числа от 6 до 100. На основании этого кода, можно выполнить задание, хотя вероятность того, что случайно сгенерированое число будет именно совершенным очень мала. (крайне мала )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdlib.h>
 
int main()
{
    for (int n = 6; n < 100; n++)
    {
        int sum = 0;
 
        for (int div = 1; div < n; div++)
        {
            if (n % div == 0)
                sum += div;
        }
 
        if (sum == n)
            std::cout << n << ' ';
    }
 
    system("PAUSE");
    return 0;
}
Добавлено через 10 минут
Если немного переработать, то вот функция которая определяет, есть ли число совершенным. Можно проверить этой функцией каждый элемент массива и как-то отреагировать, на появление совершенного числа.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
bool beauty(int k)
{
    bool ans = false;
    int sum = 0;
 
        for (int div = 1; div < k; div++)
        {
            if (k % div == 0)
                sum += div;
        }
        if (sum == k) ans = true;
        return ans;
}
 
int main()
{       for (int n = 6; n < 9000; n++)
    {
        if (beauty(n))  cout << n << ' ';
    }
    system("PAUSE");
    return 0;
}
1
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
08.02.2014, 16:15 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include<iostream>
#include<conio.h>
#include<windows.h>
#include <time.h>
 
using namespace std;
bool Perfect(int a);
 
void main()
{ 
int n,s(0);
cin>>n; 
int *a=new int[n];
srand( (unsigned)time( NULL ) );
for (int i=0; i<n;i++) a[i]=rand()%10000000;
for (int i=0; i<n;i++) if (Perfect(a[i])){ cout<<"Chislo: "<<a[i]<<" element massiva "<<i <<endl;s++;}
if (s==0) cout<<"Soverchenih chisel net";
getch();
 
}
 
bool Perfect(int a)
{
    bool ans=false;
    int s=0;
    if (a>1) for (int i=1;i<a;i++) s+=(a%i==0) ? i:0; 
    ans=(a==s);
    return ans;
}
Только n примерно 10000 выбирай, чтоб попасть))

Добавлено через 24 минуты
голова садовая delete []a; на 19 строчке забыл
1
Юличка1
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 4
11.02.2014, 15:00  [ТС] #5
Всем привет !
Кто может помочь сделать курсовую работу по ТР ПП на тему: Разработать программу для нахождения всех совершенных чисел среди элементов целочисленного массива.Массив заполнить с помощью генератора случайных чисел.С++.
0
raxp
10162 / 6549 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
11.02.2014, 21:26 #6
Еще один клон, буду штрафовать.
0
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
24.02.2014, 21:07 #7
Пожалуйста
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
const int NUMBER_OF_ELEMENTS_ALLOWED = 100;
 
void fulfillArray(int *numbersArray);
void detectPerfectNumber(int number);
 
int main()
{
    int numbersArray[NUMBER_OF_ELEMENTS_ALLOWED];
    fulfillArray(numbersArray);
    for(int i = 0; i < NUMBER_OF_ELEMENTS_ALLOWED; i++) {
        detectPerfectNumber(numbersArray[i]);
    }
 
    return 0;
}
 
void fulfillArray(int *numbersArray) {
    srand(time(NULL));
    for(int i = 0; i < NUMBER_OF_ELEMENTS_ALLOWED; i++) {
        numbersArray[i] = rand() % 1000000;
        cout << "\n" << "numbersArray[" << i << "] = " << numbersArray[i];
    }
}
 
void detectPerfectNumber(int number) {
    int numberMade = 0;
    for(int i = number - 1; i > 0; i--) {
        if(number % i == 0) numberMade += i;
    }
 
    if(number == numberMade) cout << "\n" << "number " << number << " is Perfect!";
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 21:07
Привет! Вот еще темы с ответами:

Программа для нахождения всех совершенных чисел до 5000 - C++
Мне нужно написать программу 1)которая найдет все числа до числа a, например если a=5 то программа должна вывести 1, 2, 3, 4, 5. ...

Среди элементов массива найти индексы всех таких, которые могут быть получены cуммированием двух элементов - C++
Вот задачка помогите, ЛЮДИ Среди элементов массива найти индексы всех таких, которые могут быть получены cуммированием двух элементов...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.02.2014, 21:07
Ответ Создать тему
Опции темы

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