Софтуерно Инженерство
Loading...
+ Нов въпрос
petrov52 avatar petrov52 4 Точки

Lists and Matrices Exercises - Problem 3 Diagonal difference

Здравейте,

 

Имам проблем със тази задача: Write a program that finds the difference between the sums of the square matrix diagonals (absolute value).

Не мога да направя така че while loop-а да е правилен и да се печата правилния резултат. Ето кода: http://pastebin.com/jENfK7n7

 

Подозирам, че проблема е тук: rdTotal += arr[left++, right];

input: 3
          11 2 4
          4 5 6
         10 8 -12

desired output: 15

actual output: 6

 

0
Technology Fundamentals 05/06/2016 15:28:44
petrov52 avatar petrov52 4 Точки

Ето решението на проблемната част от кода :) 

while (left <= (N - 1))
        {


            ldTotal += arr[left, left];


            rdTotal += arr[left, right];
            left++;
            right--;
        }

0
Nikola_Andreev avatar Nikola_Andreev 671 Точки

Аз ето така го коригирах и работи.

while (left < N )
        {

            ldTotal += arr[left, left];

            rdTotal += arr[left++, right--];
        }

При стария код rdTotal не ти смяташе вярно, понеже не сменяше превилно позицийте. И цикълът спираше с 1 стъпка по рано, затова промених условието му.

1
05/06/2016 15:34:23
petrov52 avatar petrov52 4 Точки

И аз подозирах, че проблемът е в rdTotal, но реших да пренапиша целия цикъл.

0