Задача: Числа Армстронга
Исходник: Числа Армстронга, одномерные массивы, язык: C++ [code #571, hits: 8640]
автор: IAkut [добавлен: 07.12.2008]
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. int cisla (int);
  5. void main()
  6. {
  7. int a[10];
  8. clrscr();
  9. // vvod massiva
  10. printf("vvedite elementy massiva\n");
  11. for(int i=0;i<10;i++)
  12. scanf("%3d",&a[i]);
  13.  
  14. // vyvod massiva
  15. printf("vash massiv\n");
  16. for(i=0;i<10;i++)
  17. printf("%d ",a[i]);
  18. printf("\n");
  19. getch();
  20. //otsortirovannii massiv
  21. printf("\notsortirovannii massiv\n");
  22. int s,j,temp;
  23. for(i=0;i<10;i++)
  24. {
  25. s=cisla(a[i]);
  26. if(s)
  27. {
  28.  
  29.  
  30. }
  31. printf("%d ",a[i]);
  32. }
  33. getch();
  34. }
  35. int cisla(int x)
  36. {
  37. int k,t,n,s;
  38. if (x!=0)
  39. {
  40. t=x;
  41. k=0;
  42. n=x;
  43. while(n>0)
  44. {
  45. k++;
  46. n/=10;
  47. }
  48. s=0;
  49. while(t>0)
  50. {
  51. s+=pow(t%10,k);
  52. t/=10;
  53. }
  54. }
  55. if (x==s) return(x);
  56. else return(0);
  57. }

+добавить реализацию