Использование params - C#

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

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

Добрый день, у меня есть программа, считающая НОК (наименьшее общее кратное) но только для двух переменных, необходимо усовершенствовать её чтобы она считала для неопределённого количества элементов, но проблема в том, что я не понял как его использовать, так как не имел дела с ним ранее. Вот код имеющейся программы:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace LR8._2
  7. {
  8. class Program
  9. {
  10. public static int NOK(int m, int n)
  11. {
  12. int i;
  13. for (i = 0; i < (n * m + 1); i++)
  14. {
  15. if (i % m == 0 && i % n == 0)
  16. {
  17. int nok = i;
  18. if (i != 0)
  19. {
  20. break;
  21. }
  22. }
  23. }
  24. return i;
  25. }
  26. static void Main(string[] args)
  27. {
  28. Console.WriteLine("Calculate NOK");
  29. Console.Write("- a:");
  30. int m = Convert.ToInt32(Console.ReadLine());
  31. Console.Write("- b:");
  32. int n = Convert.ToInt32(Console.ReadLine());
  33. Console.WriteLine("--— NOK = {0} —--", NOK(m, n));
  34. Console.ReadKey();
  35. }
  36. }
  37. }
Сверху я написал оригинал задачи, которую нужно изменить, ниже то, что у меня получилось:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace LR8._2
  7. {
  8. class Program
  9. {
  10. public static int NOK(params int[] values)
  11. {
  12. int i;
  13. for (i = 0; i < values.Length; i++)
  14. {
  15. Console.WriteLine("Calculate NOK");
  16.  
  17. if (i % values[i] == 0)
  18. {
  19. Console.Write("- a:");
  20. values[i] = int.Parse(Console.ReadLine());
  21. int nok = i;
  22. if (i != 0)
  23. {
  24. break;
  25. }
  26. }
  27. }
  28. return i;
  29. }
  30. static void Main(string[] args)
  31. {
  32. params int[] values;
  33. Console.Write("- b:");
  34. int n = Convert.ToInt32(Console.ReadLine());
  35. Console.WriteLine("--— NOK = {0} —--", NOK());
  36. Console.ReadKey();
  37. }
  38. }
  39. }

Решение задачи: «Использование params»

textual
Листинг программы
  1.         static void Main(string[] args)
  2.         {
  3.             Console.WriteLine("Введите несколько натуральных чисел (в одну строку)");
  4.             var values = Console.ReadLine()
  5.                 .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
  6.                 .Select(int.Parse)
  7.                 .ToArray();
  8.             Console.WriteLine("--— NOK = {0} —--", NOK(values));
  9.             Console.ReadKey();
  10.         }

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


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

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

7   голосов , оценка 3.857 из 5

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

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

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