≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задания Д 19 № 3363

Дан фрагмент программы, обрабатывающий двухмерный массив A размером nxn.

 

 

БейсикPython

FOR i = 1 TO n-1

    FOR j = i+1 TO n

        IF A[i,1] < A[j,1] THEN

            k=A(i,1)

            A(i,1)=A(j,1)

            A(j,1)=k

    NEXT j

NEXT i

for i in range(1, n):

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

        if A[i,1] < A[j,1]:

            k=A[i,1]

            A[i,1]=A[j,1]

            A[j,1]=k

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

for i:= 1 to n-1 do

    for j:=i+1 to n do

        if A[i,1] < A[j,1] then begin

            k:=A[i,1];

            A[i,1]:=A[j,1];

            A[j,1]:=k;

        end;

нц для i от 1 до n-1

    нц для j от i+1 до n

        если A[i,1] < A[j,1] то

            k:=A[i,1]

            A[i,1]:=A[j,1]

            A[j,1]:=k

    кц

кц

Си++

for (i = 1; i <= n-1; i++) {

    for (j = i+1; j <= n; j++) {

        if (A[i][1] < A[j][1]){

            k=A[i][1];

            A[i][1]=A[j][1];

            A[j][1]=k;

        }

    }

}

 

 

В этом фрагменте:

 

1) упорядочивается первая строка массива по убыванию

2) упорядочивается первый столбец массива по убыванию

3) заменяются элементы k-ого столбца таблицы

4) заменяются элементы k-ой строки таблицы

Пояснение.

Обратим внимание, что в двойном цикле переменная i изменяется от 1 до n-1, а j – от 1 до n (на 1 шаг больше). Это означает, что с элементом a[j,1] будут по очереди сравниваться все элементы столбца 1, кроме последнего. Они выстротся от самого большого до самого маленького сверху вниз, т.е. по убыванию.

 

Но чтобы выбрать правильный ответ, можно было рассмотреть данный фрагмент программы:

...k:=A[i,1];

A[i,1]:=A[j,1];

A[j,1]:=k;

...

Эта операция меняет местами два элемента первого столбца, а значит все изменения происходят только в нём. Вариант ответа, в котором фигурирует только первый столбец, указан под номером 2.

 

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