Необходимо завернуть код в (не void) метод, не используя в нем Console
Код выводит числа от 10 до N, если сумма четных цифр больше нечетных
/// код:
int N = int.Parse(Console.ReadLine());
for (int i = 10; i < N; i++)
{
int Oddsum = 0;
int Evensum = 0;
int check_i = i;
while (check_i > 0)
{
int dights_i = check_i % 10;
if (dights_i % 2 == 0) Evensum += dights_i;
else
Oddsum += dights_i;
check_i /= 10;
}
if (Evensum > Oddsum) Console.WriteLine($"{i}: {Evensum}");
// необходимо чтобы в методе output был таким же.
// мой метод:
public static string task09 (int A)
{
for (int i = 10; i <= A; i++)
{
int Oddsum = 0;
int Evensum = 0;
int check_i = i;
while (check_i > 0)
{
int dights_i = check_i % 10;
if (dights_i % 2 == 0) Evensum += dights_i;
else
Oddsum += dights_i;
check_i /= 10;
}
if (Evensum > Oddsum) return ($"|{i}: {Evensum}|, ");
}
return "";
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Смысл задачи в том, чтобы не производить вывод прямо в методе.
У вас что-то типа этого.
private void Sum(int a, int b)
{
int result = a + b;
Console.WriteLine(result);
}
Вызывается оно вот так
Sum(40, 2);
В консоль выводится 42.
А надо вот так
private int Sum(int a, int b)
{
int result = a + b;
return result;
}
А вызывать например вот так.
Console.WriteLine(Sum(40, 2));
Или так.
int sum = Sum(40, 2);
Console.WriteLine(sum);
Результат работы точно такой же как с void.
То есть метод должен вернуть результат своей работы в вызывающий код, а не выводить в консоль или куда-то.