Есть основная программа, её надо разбить на основную и подпрограмму - C#

Узнай цену своей работы

Формулировка задачи:

Задача: Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N — 1, у которых сумма всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово «нет». Пример. N = 44. Числа: 17, 26, 35.
Листинг программы
  1. int N, d, sum1, sum2, a, i, b,K ;
  2. N = Convert.ToInt32(Console.ReadLine());
  3. sum1 = 0;
  4. sum2 = 0;
  5. a = N;
  6. K = 0;
  7. while (N != 0)
  8. {
  9. d = N % 10;
  10. sum1 = sum1 + d;
  11. N = N / 10;
  12. };
  13. N = a;
  14. for (i = 1; i < N-1; i++)
  15. {
  16. b = i;
  17. while (b != 0)
  18. {
  19. d = b % 10;
  20. sum2 = sum2 + d;
  21. b =b/10;
  22. };
  23. if (sum1 == sum2)
  24. {
  25. Console.WriteLine(i);
  26. K=K+1;
  27. };
  28. sum2 = 0;
  29. };
  30. if (K == 0)
  31. {
  32. Console.WriteLine("Нет");
  33. };
  34. Console.ReadKey();

Решение задачи: «Есть основная программа, её надо разбить на основную и подпрограмму»

textual
Листинг программы
  1.         static void Main(string[] args)
  2.         {
  3.             int N, d, sum1, sum2, a, i, b, K;
  4.             N = Convert.ToInt32(Console.ReadLine());
  5.             sum1 = 0;
  6.             sum2 = 0;
  7.             a = N;
  8.             K = 0;
  9.             d = 0;
  10.             while (N != 0)
  11.             {
  12.                 calculate(ref d, ref sum1, ref N);
  13.             };
  14.             N = a;
  15.  
  16.             for (i = 1; i < N - 1; i++)
  17.             {
  18.                 b = i;
  19.                 while (b != 0)
  20.                 {
  21.                     calculate(ref d, ref sum2, ref b);
  22.                 };
  23.                 if (sum1 == sum2)
  24.                 {
  25.                     Console.WriteLine(i);
  26.                     K = K + 1;
  27.                 };
  28.                 sum2 = 0;
  29.             };
  30.             if (K == 0)
  31.             {
  32.                 Console.WriteLine("Нет");
  33.             };
  34.             Console.ReadKey();
  35.         }
  36.  
  37.         static void calculate(ref int a, ref int sum, ref int b)
  38.         {
  39.             a = b % 10;
  40.             sum = sum + a;
  41.             b = b / 10;
  42.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы