С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вывести числа Армстронга, используя функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Введите массив 10 чисел с плавающей точкой. Создать новый массив рассчитать максимальные и минимальные и заменить их.в C++ borlad http://www.cyberforum.ru/cpp-beginners/thread727065.html
Введите массив 10 чисел с плавающей точкой. Создать новый массив рассчитать максимальные и минимальные и заменить их. ПОмогите ,очень нужен код програмы в C++ borland .
C++ Шифр Цезаря Вот есть готовый код программы, может, кому понадобиться:) #include<iostream> #include<conio.h> #include<math.h> using namespace std; int main(){ int i=0,n; http://www.cyberforum.ru/cpp-beginners/thread727062.html
C++ объясните пожалуйста эту программу
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <iostream> #include <list> #define MAXDL 8 struct EL_SP {
C++ Создать класс типа игра Крестики-Нолики
Создать класс типа игра в крестики-нолики. Поле класса - массив из (3х3). Ставить можно только на свободные. Ребята, вот есть код программы! Помогите преобразовать в классы! Прога рабочая......
C++ Сосчитать ряд тейлора в точках http://www.cyberforum.ru/cpp-beginners/thread727053.html
функция е2х4, отрезок , точность 10-4, отрезок делится на 5 узловых точек, в каждой точке посчитать ряд. собственно сумма считается, но требуется вывести количество итераций в каждой точке, но по...
C++ Работа с изображением Нужна подсказка о том, как попиксельно можно работать с изображением (псевдобинарным, т.е. каждый пиксель 255 и 0). Нужна возможность "бегать" по изображению, проверяя значения яркости пикселей, и в... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
11.12.2012, 11:51
Цитата Сообщение от delexa Посмотреть сообщение
Где ошибка?
Ошибка в логике программы. См комментарии:
Цитата Сообщение от delexa Посмотреть сообщение
C++
1
int Armstrong(int);
Цитата Сообщение от delexa Посмотреть сообщение
C++
1
2
for ( int i = 1; i < z; i++) 
 cout<<Armstrong(i)<<endl;// каким бы ни было число i (число Армстронга или нет) все равно что-то выведется
Пробуйте так:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
bool Armstrong(int);
 
int main() 
{  int z;
    cout<<"Programma vivodit vse chisla Armstronga ot 1 do n"<<endl;
    cout<<"Vvedite n= "; cin>>z;
    cout<<"Chisla Armstronga : "<<endl;
  for ( int i = 1; i <= z; i++) 
      if(Armstrong(i))
          cout<<i<<endl;      
   system ("pause");
  return 0;
 
}
  
 
bool  Armstrong (int i)
      { int a, b, step, arm; 
        int kolvocifr = 0, summa = 0; 
      a = b = i; 
      while(a) // Г±Г·ГЁГІГ*ГҐГ¬ êîëè÷åñòâî öèôð Гў ÷èñëå
      { 
          a /= 10; 
          kolvocifr++;
      } 
 
      //step = pow(10, kolvocifr-1); // âîçâîäèì 10 Гў Г±ГІГҐГЇГҐГ*Гј êîëè÷åñòâГ* öèôð - 1
      while(b) // Г°Г*çáèâГ*ГҐГ¬ ÷èñëî Г*Г* öèôðû
      { 
          summa += (int)pow((double)(b %10), (double)kolvocifr); //Г±Г·ГЁГІГ*ГҐГ¬ ñóììó
          b /=10;
        //  step /= 10;
      } 
 
      if(summa == i) // åñëè ñóììГ* Г°Г*ГўГ*Г® èñõîäГ*îìó Г§Г*Г*Г·ГЁГІ ГЅГІГ® ÷èñëî ÀðìñòðîГ*ГЈГ*
          return true;
      return false;
 
  }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.