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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить список? в котором сохраняются результаты сессии группы (структуры) http://www.cyberforum.ru/cpp-beginners/thread719387.html
Помогите пожалуйста запутался в программе задача Составить список в котором сохраняются результаты сесии группы . НАписать программу расчёта стипендии по результатам сесии #include<iostream> #include<ctime> #include<cmath.h> using namespace std; struct gruppa// { char Kod;//название группы
C++ объясните пожалуйста эту программу #include <stdio.h> #include <conio.h> #include <iostream> int maximum (int mas, int i, int n) { int max; max = mas; for (i; i<n; i++) { if (mas > max) http://www.cyberforum.ru/cpp-beginners/thread719386.html
C++ Произвести вычисления в одномерном массиве
Дорогие форумчане помогите пожалуйста, мне нужно написать лабу на с++, но дело в том, что сейчас мы начали проходить массивы. Учитывая, то что нам это никак не объясняют, мне это сложно самому понять, а лабу нужно написать, боюсь, что я не успею. Помогите пожалуйста, вот текст: №1 - одномерный массив В одномерном массиве, состоящим из п вещественных элементов вычислить: -количество элементов...
Определите среднее значение элементов в последовательности C++
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите среднее значение элементов этой последовательности (без учета последнего нуля). В этой задаче нельзя использовать глобальные переменные. Функция получает данные, считывая их с клавиатуры, а не получая их в виде параметра. Гарантируется, что последовательность содержит хотя бы одно число (кроме...
C++ Даны величины трех углов треугольника, существует ли треугольник с такими углами? http://www.cyberforum.ru/cpp-beginners/thread719373.html
Мне нужно решить задачу,даны величины трех углов треугольника и нужно определить существует ли треугольник с такими углами. спасибо =)
C++ Исследование особенностей применения переменных ссылочного типа и указателей Создать динамический массив переменных типа int используя оператор new и указатель на массив Число элементов массива вводить с клавиатуры. Вычислить среднее среди всех введенных элементов а также индексы и значения наименьшего и наибольшего элементов. Результаты работы отобразить на экране. После отображения значений очистить память занимаемую массивом с помощью оператора delete. Помогите,... подробнее

Показать сообщение отдельно
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
04.12.2012, 20:51     Вывести числа Армстронга от 1 до n
Натуральное число, в записи которого z цифр, называется числом Амстронга, если сумма его цифр, возведенная в степень z, равна самому числу. Найти все числа Амстронга от 1 до n.

Пожалуйста, посмотрите код, что в нем не так? первый раз работаю с функцией. Хочу разобраться.

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
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int Armstrong(int);
 
int main ()
{    
    int n;
    cout<<"Programma vivodit vse chisla Armstronga ot 1 do n"<<endl;
    cout<<"Vvedite n= "; cin>>n;
    cout<<"Chisla Armstronga : "<<endl;
 
        for (int i=1; i<=n; i++)        // вывожу все числа Армстронга от 1 до n
        cout<<Armstrong(i)<<" ";
 
    system ("pause");
return 0;
}
 
 
int Armstrong(int i)         // - число Армстронга, z-количество чисел;
{ int arm, j, z=1, m=0;     // j-сюда временно коипрую i, m-сумма цифр числа, возведенных в степень количества цифр
  j=i;                       
  while ((j>0)&&(j<9))      // считаю количество цифр
  { j=j/10;
    z++;  }
  int *mas = new int[z];    // массив для хранения каждой цифры числа
  j=i;
  for(int r=0; r>z;r++)         
  { 
    mas[r]=j%10;            // заполнение массива
    j=j/10;
        }
  for (int r=0; r>z; r++)       // нахожу сумму цифр числа, возведенных в степень количества цифр
      m=(int)pow(mas[r],z)+m;  
 
  if (m==i) {arm=m; return arm;}   // если совпадает начальное значение с получившимся, то возвращаю это значение
  else return 0;
  
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru