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

Числа армстронга - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.74
MsReatEA
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 7
14.06.2011, 19:14     Числа армстронга #1
Подскажите где ошибка, результат выдает не верный. Подскажите пжл где не верно.

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
int dwyxznach (int l)
{
int a,b,i1;
a=b=l=0;
for (i1=10;i1<100;i1++) {
     a=i1/10;
     b=i1%10;
     l=pow(a,2)+pow(b,2);
     if (l==i1){return l; }
    }
}
int trech3nach(int z)
{
int a,y,x,h,i2;
for (i2 = 100; i2 < 1000; i2++) {
     x=i2/100;
     y=i2%100/10;
     h=i2%10;
     z=pow(x,3)+pow(y,3)+pow(h,3);
     if (z==i2){return z;}
     }
}
int cheterex3nach(int k)
{
int i3,g,s,f,w;
for (i3=1000;i3<10000;i3++) {
     g=i3/1000;
     s=i3%1000/100;
     f=i3%100/10;
     w=i3%10;
     k=pow(g,4)+pow(s,4)+pow(f,4)+pow(w,4);
     if (k==i3){return k;}
    }
}
void main()
{
int p,m,ch;
printf("Chisla armstronga:\n");
printf("%d\n",dwyxznach(p));
printf("%d\n",trech3nach(m));
printf("%d\n",cheterex3nach(ch));
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
09.03.2013, 15:34     Числа армстронга #21
C++
1
2
3
4
5
    int chislo_tmp = chislo;
    //Проверяем кол-во цифр в числе
    while(chislo_tmp!=0){
        chislo_tmp/=10;
        y++; }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
slimshandy911
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 3
09.03.2013, 15:44     Числа армстронга #22
Высвечивается ошибка. Пересматривал, все вроде правильно. В чем проблема?
"Run-Time Check Failure #3 - The variable 'res' is being used without being initialized."

Полный код:
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
#include "math.h"
# include <iostream>
using namespace std;
 
bool amstrong(int chislo){
    int a1,a2,a3,a4,d;
    int sum=0;
    int y=0;
    bool res;
     int chislo_tmp = chislo;
    //Проверяем кол-во цифр в числе
    while(chislo_tmp!=0){
        chislo_tmp/=10;
        y++; }
    //После того как мы определили кол-во цифр, определяем является ли пришедшее число числом Амстронга
 
    if (y==1) {
        res=true;
    }
 
 
    if (y==2){
        res=false;
    }
 
 
    if (y==3) {
            a1=chislo/100;
            a2=(chislo%100)/10;
            a3=(chislo%100)%10;
            
            if (a1*a1*a1+a2*a2*a2+a3*a3*a3==chislo){
            res=true;}
    }
 
    if (y==4) {
            a1=chislo/1000;
            a2=(chislo%1000)/100;
            a3=((chislo%1000)%100)/10;
            a4=((chislo%1000)%100)%10;
 
            if (a1*a1*a1*a1+a2*a2*a2*a2+a3*a3*a3*a3+a4*a4*a4*a4==chislo) {
            res=true;
            }
        }
    return res;
}
 
 
 
int main () 
{
    int min,max;
 
 cout<<"\n Vvedite minimal'moe znachenie \n";
 cin>>min;
 
 cout<<"\n Vvedite maximal'noe znachenie \n";
 cin>>max;
 
 for (min; min<=max; min++){
     if (amstrong(min)) {
         cout<<min;
     }
 }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2013, 15:46     Числа армстронга
Еще ссылки по теме:

C++ Числа Армстронга
Числа Армстронга C++
Получить числа Армстронга C++
C++ Получить все числа Армстронга
Числа* Армстронга C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
09.03.2013, 15:46     Числа армстронга #23
Цитата Сообщение от slimshandy911 Посмотреть сообщение
Высвечивается ошибка. Пересматривал, все вроде правильно. В чем проблема?
"Run-Time Check Failure #3 - The variable 'res' is being used without being initialized."
Напиши в строке 9:
C++
1
bool res = false;
В принципе, это должно быть предупреждением, а не ошибкой.
Yandex
Объявления
09.03.2013, 15:46     Числа армстронга
Ответ Создать тему
Опции темы

Текущее время: 01:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru