Использование params - C#
Формулировка задачи:
Добрый день, у меня есть программа, считающая НОК (наименьшее общее кратное) но только для двух переменных, необходимо усовершенствовать её чтобы она считала для неопределённого количества элементов, но проблема в том, что я не понял как его использовать, так как не имел дела с ним ранее.
Вот код имеющейся программы:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace LR8._2
- {
- class Program
- {
- public static int NOK(int m, int n)
- {
- int i;
- for (i = 0; i < (n * m + 1); i++)
- {
- if (i % m == 0 && i % n == 0)
- {
- int nok = i;
- if (i != 0)
- {
- break;
- }
- }
- }
- return i;
- }
- static void Main(string[] args)
- {
- Console.WriteLine("Calculate NOK");
- Console.Write("- a:");
- int m = Convert.ToInt32(Console.ReadLine());
- Console.Write("- b:");
- int n = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("--— NOK = {0} —--", NOK(m, n));
- Console.ReadKey();
- }
- }
- }
Сверху я написал оригинал задачи, которую нужно изменить, ниже то, что у меня получилось:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace LR8._2
- {
- class Program
- {
- public static int NOK(params int[] values)
- {
- int i;
- for (i = 0; i < values.Length; i++)
- {
- Console.WriteLine("Calculate NOK");
- if (i % values[i] == 0)
- {
- Console.Write("- a:");
- values[i] = int.Parse(Console.ReadLine());
- int nok = i;
- if (i != 0)
- {
- break;
- }
- }
- }
- return i;
- }
- static void Main(string[] args)
- {
- params int[] values;
- Console.Write("- b:");
- int n = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("--— NOK = {0} —--", NOK());
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Использование params»
textual
Листинг программы
- static void Main(string[] args)
- {
- Console.WriteLine("Введите несколько натуральных чисел (в одну строку)");
- var values = Console.ReadLine()
- .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToArray();
- Console.WriteLine("--— NOK = {0} —--", NOK(values));
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д