Задания
Версия для печати и копирования в MS Word
Тип Д16 № 3383
i

В про­грам­ме об­ра­ба­ты­ва­ет­ся дву­мер­ный це­ло­чис­лен­ный мас­сив A [0..n,0..n]. Пер­вый ин­декс эле­мен­та обо­зна­ча­ет номер стро­ки, а вто­рой – номер столб­ца. Дан фраг­мент про­грам­мы:

 

Бей­сикPython

FOR i = 0 TO n

    c = A(i,n-i)

    A(i,n-i) = A(1,i)

    A(1,i) = c

NEXT i

 

for i in range(0, n+1):

    c = A[i,n-i]

    A[i,n-i] = A[1,i]

    A[1,i] = c

Пас­кальАл­го­рит­ми­че­ский язык

 

for i:=0 to n do begin

    c:=A[i,n-i];

    A[i,n-i]:=A[1,i];

    A[1,i]:=c;

end;

 

нц для i от 0 до n

    c:=A[i,n-i]

    A[i,n-i]:=A[1,i]

    A[1,i]:=c

кц

Си++

 

for (i = 0; i <= n; i++) {

    c= A[i][n-i];

    A[i][n-i]= A[1][i];

    A[1][i]= c;

}

 

Что ме­ня­ет этот фраг­мент про­грам­мы?

 

1)  два столб­ца в таб­ли­це

2)  стро­ку и стол­бец в таб­ли­це

3)  эле­мен­ты диа­го­на­ли и стро­ки в таб­ли­це

4)  эле­мен­ты диа­го­на­ли и столб­ца в таб­ли­це

Спрятать решение

Ре­ше­ние.

Этот фраг­мент ме­ня­ет ме­ста­ми эле­мен­ты A[i,n-i] и A[1,i]. Раз­берёмся, что это за эле­мен­ты.

 

При i=0 A[i,n-i] = A[0,n]  — эле­мент ну­левй стро­ки и по­след­не­го столб­ца.

При i=1 A[i,n-i] = A[1,n-1]  — эле­мент пер­вой стро­ки и пред­по­след­не­го столб­ца.

 

Каж­дый сле­ду­ю­щий эле­мент будет сдви­гать­ся на стро­ку вниз и на стол­бец влево, т. е. мы по­лу­чим эле­мен­ты диа­го­на­ли мас­си­ва.

 

Эле­мент A[1,i]  — эле­мент пер­вой стро­ки и столб­ца с но­ме­ром i.

 

Зна­чит, дан­ный фраг­мент про­грам­мы ме­ня­ет эле­мен­ты диа­го­на­ли и пер­вой стро­ки в таб­ли­це.

 

Пра­виль­ный ответ ука­зан под но­ме­ром 3.