Loading...
warglaivee avatar warglaivee 59 Точки

04. Maximal Sum Matrix Print Issue

Здравейте, написах 04.Maximal Sum до сумирането на елементите и забих, ето кода , остана ми принтирането, ако някой има идея как да стане, ще съм благодарен!

Условие.

Тагове:
0
C# Advanced 27/01/2018 17:56:12
warglaivee:
//TODO-PRINT BIGGEST MATRIX

Console.WriteLine($"Sum = {cacheSums.Pop()}");
Console.WriteLine($"{matrix[rowIndex - 1, colIndex - 1]} " +
$"{matrix[rowIndex - 1, colIndex]} " +
$"{matrix[rowIndex - 1, colIndex + 1]}");

Console.WriteLine($"{matrix[rowIndex, colIndex - 1]} " +
$"{matrix[rowIndex, colIndex]} " +
$"{matrix[rowIndex, colIndex + 1]}");

Console.WriteLine($"{matrix[rowIndex + 1, colIndex - 1]} " +
$"{matrix[rowIndex + 1, colIndex]} " +
$"{matrix[rowIndex + 1, colIndex + 1]}");
rosen.ivanov avatar rosen.ivanov 130 Точки
Best Answer

В if-a, където проверяваш най-високата сума, пази индексите на реда и колоната. Когато имаш индексите на реда и колоната, принтирането става много лесно: 

var bestSum = int.MinValue;
var rowIndex = -1;
var colIndex = -1;

for (int row = 0; row < matrix.GetLength(0) - 2; row++)
{
    for (int col = 0; col < matrix.GetLength(1) - 2; col++)
    {
        var currentSum = matrix[row, col] + matrix[row, col + 1] + matrix[row, col + 2] +
                         matrix[row + 1, col] + matrix[row + 1, col + 1] + matrix[row + 1, col + 2] +
                         matrix[row + 2, col] + matrix[row + 2, col + 1] + matrix[row + 2, col + 2];

        if (currentSum > bestSum)
        {
            bestSum = currentSum;
            rowIndex = row;
            colIndex = col;
        }
    }
}

Console.WriteLine($"Sum = {bestSum}");
Console.WriteLine($"{matrix[rowIndex, colIndex]} {matrix[rowIndex, colIndex + 1]} {matrix[rowIndex, colIndex + 2]}");
Console.WriteLine($"{matrix[rowIndex + 1, colIndex]} {matrix[rowIndex + 1, colIndex + 1]} {matrix[rowIndex + 1, colIndex + 2]}");
Console.WriteLine($"{matrix[rowIndex + 2, colIndex]} {matrix[rowIndex + 2, colIndex + 1]} {matrix[rowIndex + 2, colIndex + 2]}");
2
27/01/2018 18:13:34
harizanov87 avatar harizanov87 6 Точки

Аз елементите ги изнесям в една темп матрица и после пазиш както най добрата сума така и матрицата към нея.

Ето моето решение : https://pastebin.com/zVDQtdDX

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.