C# - Hackerrank SomplearraySumC#

Место общения программистов C#
Ответить
Anonymous
 C# - Hackerrank SomplearraySum

Сообщение Anonymous »

Теперь я могу получить негативные моменты, потому что, возможно, где -то в обширном Интернете уже есть ответ на это, но я попытался искать это, и я просто не смог его найти. < /p>

Суть проблемы заключается в том, что Hackerranks хочет, чтобы вы создали массив с размером, определяемым пользователем, а затем попросите пользователя добавить свои значения (целые числа) и, наконец, получить программу суммировать свои значения. < /p>

Есть много способов сделать это, и я уже знаю, как это сделать, но моя проблема в том, что я просто не могу понять образец кода Hackerrank в C# Это дало мне. Я прокомментировал части, которых я не понимаю, что является большинством из них: < /p>

static int simpleArraySum(int n, int[] ar) {
// Complete this function
int sum = 0;
foreach( var item in ar){
sum += item;
}
return sum;
}

static void Main(String[] args) {
//I know what this does
int n = Convert.ToInt32(Console.ReadLine());
//I am lost here, just why create a string array and add the split method?
string[] ar_temp = Console.ReadLine().Split(' ');
//I dont understand here neither, what is it converting? What is the parse for?
int[] ar = Array.ConvertAll(ar_temp,Int32.Parse);
//Why send the n when all you need is the array itself?
int result = simpleArraySum(n, ar);
Console.WriteLine(result);
}
< /code>

Я знаю, что некоторые люди ненавидят Hackerrank, и, честно говоря, я тоже, но это дает мне несколько хороших способов проверить мои ограниченные навыки в кодировании с C# и тестирование моей логики. Так что, если есть лучшие сайты, которые помогут вам проверить вашу логику как CS, пожалуйста, поделитесь ими со мной. < /p>



Вот код, который я сделал для решения этой проблемы в Visual Studio, но по какой -то глупой причине Hackerrank не примет ее, если я не сделаю пользовательские входы: < /p>

//This code can be potentially shorter using the code commented further below.
//For practice's sake, it was made longer.
static int simpleArraySum(int[] arr_temp)
{
int total = 0;
foreach (var item in arr_temp)
{
total += item;
}
return total;
}

static void Main(String[] args)
{
int n = Convert.ToInt32(Console.ReadLine());
int[] arr_temp = new int[n];

for (int i = 0; i < n; i++)
{
arr_temp = Convert.ToInt32(Console.ReadLine());
}

int result = simpleArraySum(arr_temp);
//int result = arr_temp.Sum();
Console.WriteLine(result);
Console.ReadLine();
}


Подробнее здесь: https://stackoverflow.com/questions/448 ... learraysum
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»