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

числа Армстронга, найти ошибку в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упаковка http://www.cyberforum.ru/cpp-beginners/thread228479.html
Решить задачу упаковки, если числа массива могут принимать следующие значения: 0, 1, 2, 3; Пусть по условию задачи известно, что числа массива находятся в диапазоне от 0 до 3, т. е. каждое число занимает 2 бита. Надо обработать 24 таких чисел. Нет типа данных для хранения двух битов. В каждом элементе массива типа unsigned short размером два байта (16 битов) можно разместить 16/2=8 чисел из...
C++ Посмотрите код Всем доброго времени суток. Вот написал програмку, которая считает сумму элементов массива. Помогите написать её через svitch.Заранее спасибо. #include <iostream> #include <conio.h> using namespace std; int main() { int i,j,n,p=1; cout<<"n="; http://www.cyberforum.ru/cpp-beginners/thread228478.html
C++ Строка матрицы с наименьшей суммой элементов.
Подскажите как в С++ найти строку матрицы с минимальной суммой элементов и вычеркнуть ее?
C++ 2D Game
Вот корявая, но "сделанная" (помогали) ИГРА! И движок (по урокам) скинул. http://www.cyberforum.ru/attachment.php?attachmentid=58377&stc=1&d=1294935054 http://www.cyberforum.ru/attachment.php?attachmentid=58378&stc=1&d=1294935054
C++ Сижу на лабораторной по классам http://www.cyberforum.ru/cpp-beginners/thread228440.html
Подскажите Создать класс для работы со строками. В классе перегрузить оператор += для сложения строк. Память под строки отводить динамически. Использовать конструктор с параметрами, конструктор копирования. Вот такая задача. До конца лабы осталось 2 часа есть у кого возможность помочь? Добавлено через 33 минуты в поисковике ничего нет
C++ Pascal to C++ Доброго времени суток.Есть код на паскале. program program7; const a=-3.02; b=0.01; c =-1.1; d=0.2; m=10; var max,q:real; f:array of real; x,y:array of real; k,n:byte; begin writeln('Задание матрицы F:' ); подробнее

Показать сообщение отдельно
maks_IQ
21 / 21 / 0
Регистрация: 05.01.2011
Сообщений: 173

числа Армстронга, найти ошибку в программе - C++

13.01.2011, 20:48. Просмотров 829. Ответов 2
Метки (Все метки)

Задание следующее:
Найти числа Армстронга до опр. числа, введенного пользователем. (Числа Армстронга - числа с количеством цифр n, сумма цифр возведенных в n степень которых равна самому числу.
Например 153 - число Армстронга, т.к. 1³ + 5³ + 3³ = 153)

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
int main()
{
    setlocale(LC_ALL,"rus");
    double massiv[10000]; int step=0; int m=1; int glav=0; int glav1=0;
    int n=0;
    cout<<"Введите значение, до которого нужно найти числа Армстронга\n";
    cin>>n;
 
    for (int i=0;i<n;i++)
    {
        step=0; double a=0;
        massiv[i]=i+1; a=massiv[i];
        while(a>=1)
        {
            a/=10;
            step++;
        }
        for (int j=1;j<step;j++)
        {
            glav=glav+glav1;
 
        glav1=pow((double(int((massiv[i]/(10*m)-int(massiv[i]/(10*m))*10)))),double(step)); // тут конечно все запутано, но [I][U]вроде[/U][/I] правильно
            m*=10;
        }
        if (glav==massiv[i])
        {cout<<massiv[i];}
    }
    _getch();
    return EXIT_SUCCESS;
}
попробовал выполнить, но программа не работает. Вернее, работает, но не так как нужно:
она выводит 81, хотя это не число армстронга.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru