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

Дружеские числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ многомерные массивы. квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread1003480.html
всем доброго времени суток. нужно заменить все элементы НАД главной диагональю максимальным элементом. код программы, где уже все найдено и объявлено. #include <iostream> using namespace std ; int main() { const int N (3) ; int matrix ;
C++ Подключение заголовочного файла, файлов ресурсов Добрый день, возникла проблема с подключением файлов . Есть готовые файлы,чтоб не копироват, создаю консольное приложение, создаю заголовочный файл main.cpp , пишу код подключая вектора(готовый файл Integer_vector.hpp) в заголовочные файлы и в файлы ресурсов integer_vector.cpp ,но не работает,что я не так делаю, если можно опишите полную последовательность моих действий!!! visual studio 2012 http://www.cyberforum.ru/cpp-beginners/thread1003472.html
Ошибка [Error] ld returned 1 exit status (Dev - C++) C++
#include<iostream> using namespace std ; int mul(int x , int y ) ; int mul() { int answer ; answer=mul(10,11) ; cout<<"Otvet raven: "<< answer ;
Таблица умножения C++
Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — "отлично"; за 9 и 8 —"хорошо"; за 7 и 6 — "удовлетворительно"; за 6 и менее — "плохо".
C++ Умножение матриц из файла и запись результата в новый файл http://www.cyberforum.ru/cpp-beginners/thread1003465.html
Здравствуйте, требуется помощь в написании программы. Собственно как сделать перемножение матриц я знаю, но вот с операциями с файлами беда. Нужно сделать так, чтобы программа брала из двух файлов (к примеру .txt) по матрице, выводила их на экран, перемножала их, выводила результат и сохраняла полученный результат в третий файл. Заранее благодарен
C++ Как создать свой манипулятор с параметрами? В примере дан вот этот код: #include <iostream.h> #include <iomanip.h> ostream &dollars(ostream &stream, double amount) { stream.setf (ios::showpoint); stream << "$" << setw(10) << setprecision (2) << amount; return stream; } omanip <double> dollars(double amount) подробнее

Показать сообщение отдельно
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
10.11.2013, 18:09     Дружеские числа
Написал, долго думал над реализацией, правда. Если вам будет необходимо узнать пояснение - пишите.
Также скажу, что моя программа, как и Вики, говорят, что дружественных чисел всего два, вы это увидите при компиляции:
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
#include <iostream>
 
using namespace std;
 
/*
Два натуральных числа называют дружескими, если каждое с них будет равно сумме всех делителей другого, кроме этого самого числа.
Найти все пары дружеских чисел, что находятся в диапазоне от 200 до 300
*/
 
bool isFriend(int dividers1[], int firstNumber, int numOfDividers1, int dividers2[], int secondNumber, int numOfDividers2);
 
int main()
{
    int firstNumber, secondNumber;
    //cout << "\n" << "Enter first number: ";
   // cin >> firstNumber;
   // cout << "\n" << "Enter second number: ";
    //cin >> secondNumber;
    int numOfDividers1;
    int dividers1[100];
    int numOfDividers2;
    int dividers2[100];
    int j;
    int remFirst = 0, remSecond = 0;
 
    firstNumber = 200; secondNumber = 200;
do{
    if(secondNumber > 299) {
        firstNumber++;
        secondNumber = 200;
    }
 
    secondNumber++;
 
    cout << "\n\t\t" << "FIRST NUMBER: " << firstNumber << " AND SECOND NUMBER: " << secondNumber;
 
    numOfDividers1 = 0;
    numOfDividers2 = 0;
    j = 0;
 
    for(register int i = 1; i < firstNumber; i++) {
        if(firstNumber % i == 0) {
            numOfDividers1++;
            dividers1[j] = i;
            j++;
        }
    }
 
    for(register int i = 0; i < j; i++) {
       // cout << "\n" << "Divider of first: " << dividers1[i];
    }
 
 
    j = 0;
 
    for(register int i = 1; i < secondNumber; i++) {
        if(secondNumber % i == 0) {
            numOfDividers2++;
            dividers2[j] = i;
            j++;
        }
    }
 
 
    for(register int i = 0; i < j; i++) {
      //  cout << "\n" << "Divider of second: " << dividers2[i];
    }
 
    bool isAFriend = isFriend(dividers1, firstNumber, numOfDividers1, dividers2, secondNumber, numOfDividers2);
    if(isAFriend) {
        cout << "\n" << "Numbers " << firstNumber << " and " << secondNumber << " are friends!";
        remFirst = firstNumber;
        remSecond = secondNumber;
    } else
        cout << "\n" << "Numbers " << firstNumber << " and " << secondNumber << " are not friends!";
 
} while((firstNumber <= 300) && (secondNumber <= 300));
 
    cout << "\n" << "Friends were: " << remFirst << " and " << remSecond;
    return 0;
}
 
bool isFriend(int dividers1[], int firstNumber, int numOfDividers1, int dividers2[], int secondNumber, int numOfDividers2) {
    int sumOfFirst, sumOfSecond;
    sumOfFirst = sumOfSecond = 0;
 
    for(register int i = 0; i < numOfDividers1; i++) {
        sumOfFirst += dividers1[i];
    }
   // cout << "\n" << "SumOfFirst is: " << sumOfFirst;
 
    for(register int i = 0; i < numOfDividers2; i++) {
        sumOfSecond += dividers2[i];
    }
   // cout << "\n" << "SumOfSecond is: " << sumOfSecond;
 
    return (firstNumber == sumOfSecond) && (secondNumber == sumOfFirst);
 
}
 
Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru