Это звучит как домашнее задание - однако я помогу:)
Так что, если у вас есть двумерный массив, и чтобы найти сумму диагональных значений, вы будете знать, что индексы обоихзначения будут совпадать, чтобы предоставить вам каждое из диагональных значений.
Чтобы выполнить итерацию по ним, вы можете использовать простой цикл, который суммирует каждое диагональное значение, как показано:
//Your Sum
int sum = 0;
//This will iterate and grab all of the diagonals
//You don't need to iterate through every element as you only need
//the diagonals.
for(int i = 0; i < sizeOfArray; i++)
{
//This will add the value of the first, second, ... diagonal value to your sum
sum += array[i,i];
}
Чтобы установить каждое из значений от 0 до 1, вы можете выполнить итерацию по каждому элементу массива и проверить, равно ли значение 0, а затем установить это значение в 1, например:
for(int i = 0; i < sizeOfArray; i++)
{
for(int j = 0; j < sizeOfArray; j++)
{
//Check if this value is 0;
//If it is 0, set it to 1, otherwise continue
}
}