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

Вывести все числа Армстронга в заданном интервале - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Степенной метод нахождения наибольшего по модулю собственного значения и соответствующего ему собственного вектора http://www.cyberforum.ru/cpp-beginners/thread1125554.html
Привет всем. Есть код программы, но почему то он не работает, подскажите в чем дело, может ввожу неправильно. Тестовый пример: Матрица А: 4 2 2 2 5 1 2 1 6 Матрица x1:
C++ Составить программу формирования массива, элементами которого являются цифры числа N Здравствуйте))) Хотел спросить правильно работает программа соответствует с условием задачи?? А то какие то сомнения. Дано натуральное число N. Составить программу формирования массива, элементами которого являются цифры числа N. #include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; int main(void) http://www.cyberforum.ru/cpp-beginners/thread1125551.html
Выяснить фамилии пациентов, которые обращались в больницу больше трех раз в год. Исправить ошибки в коде C++
Здравствуйте! возникли небольшие сложности с решением данной задачи, помогите пожалуйста разобраться, в чем моя ошибка, помогите доделать? задание: имеются сведения о посещении пациентами больницы: фамилия пациента, дата рождения, дата посещения, участок, фамилия врача, диагноз. Выяснить фамилии пациентов, которые обращались в больницу больше трех раз в год. Выбрать врача который за год...
C++ Функция возвращает странное значение
Да, понимаю, что скорее всего ошибка глупая, но голова разбитая и найти не могу. Прилагаю полный код. В самом низу будет код основной программы и под ней напишу на какой строчке какая функция возвращает ересь. P.S. саму функцию полностью дебажил - работает корректно =( #pragma once #include <iostream> struct Pair { int key; int prev; Pair(void) : key(0), prev(0){};
C++ Встроенный редактор кода не подсвечивает парные фигурные скобки http://www.cyberforum.ru/cpp-beginners/thread1125498.html
Видел в шапке много всяких вариантов, но я так понял, в тех, что я видел, встроенный редактор кода не подсвечивает парные фигурные скобки вот так как в делфи, он внизу на скрине (не знаю как сделать картинку первой, потом код с++). Есть подсветка в Dev-Cpp, го там она имхо странная. Ставишь курсор перед первой скобкой она выделяется и парная выделяется. Может как то можно там еще сделать...
C++ Напечатать те слова, которые состоят из всех букв, что и слово "red" Напечатать те слова, которые состоят из всех букв, что и слово "red". Повторения допускаются. Слово находится в файле red.txt. #include <iostream> #include <fstream> #include <string> using namespace std; int main() { setlocale(LC_ALL, "RUS"); подробнее

Показать сообщение отдельно
UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68

Вывести все числа Армстронга в заданном интервале - C++

21.03.2014, 18:33. Просмотров 680. Ответов 8
Метки (Все метки)

Здравствуйте,
В универе дали задание: вывести все числа Армстронга в интервале [a,b];
Понимаю что это уже давно сделали, но я хотел свою версию. Понимаю что полный говнокод, но все же где ошибка? Программа нормально компилируется и запускается, но при вводе a и b программа закрывается и windows предлагает отладить ее.
Кстати на MVS 2013 все отлично работает(на ней то я и писал). Обнаружил что программа не работает когда показывал ее преподу на древнейшем Borlandе. Сам попробовал компилировать ее же на CODEBLOCKS(GNU) и wxDEV(вроде тоже GNU). Помогите разобраться!
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
//armstrong numbers
#include <iostream>
#include <cmath>
 
using namespace std;
 
int numbersCount(const int  n)            //возвращает кол-во цифр в числе
{
    int c = 0;
    int check = 1;
        for (int i = 10; check>0; i *= 10)
        {
            check = n / i;
            c++;
        }
    return c;
}
 
void numberPartsFunc(int mass[],const int count,const int n)       //записывает каждую цифру числа в массив 
{
    
        for (int  i = count, j = 0; i > 0; i--, j++)
        {
            mass[j] = ((n % ((int)pow(10, i))) / ((int)pow(10, i - 1)));
        }
}
 
bool armstrongChecker(const int mass[],const int count,const int n)       //Проверяет число(Армстронга или нет)
{
    int sum = 0;
 
    for (int i = 0; i < count; i++)
    {
        sum += (int)pow(mass[i], 3);
    }
    
        if (sum == n && n!=0 && n!=1)
            return true;
 
        else
            return false;
    
}
int main(int argc, char *argv[])
{
    int *number, *numbersParts, count, size, a, b;
    
    cout << "ARMSTRONG'S NUMBERS [a;b]: " << endl;
 
    cout << "a: "; cin >> a;
    cout << "b: "; cin >> b;
 
    size = (int)fabs((float)(a - b)) + 1;
 
    number = new int [size];
 
    for (int i = ((a < b) ? a : b); i <= b; i++)
        number[i] = i;
    
    for (int i = 0; i < size; i++)
    {
        count = numbersCount(number[i]);
 
        numbersParts = new int [count];
 
        numberPartsFunc(numbersParts, count, number[i]);
 
        if (armstrongChecker(numbersParts, count, number[i]) == true)
            cout << number[i] << endl;
    }
    
    system("pause");
    return 0;
}
Добавлено через 12 часов 55 минут
Неужели никто не знает?
Помогите разобраться а...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru