• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Подсчет очков чемпионата. Обработка квадратной матрицы

  • Автор темы Intersap
  • Дата начала
I

Intersap

Наглость - второе счастье. Если можете помогите еще.

Таблица футбольного чемпионата задается квадратной матрицей размером 16х16, в которой все елементы на главной диагонале равны нулю, а остаток заполненный за такими правилами: 3 – победа, 1 – ничия, 0 – поражение. Определить, есть ли такие команды, которые не проиграли ни одной игры. Вывести на экран номера таких команд і количество заработаных очков. Начальное состояние матрицы определить через типизированую константу-матрицу.

А вот программу самому написать не получается

Посмотреть вложение __________.bmp
 
I

Intersap

как проверить все значения из матрицы не учитавыя значения по главной диагонали?
 
H

hosm

Intersap
у элементов на главной диагонали индекс строки и столбца одинаковый. В чем проблема их исключить из обработки?
 
H

hosm

нечто подобное... или проблема написать типизированную константу-матрицу?
Код:
const N=16;
// A - массив
var 
i,j,Sum:Integer;
begin
for i := 1 to N do begin
Sum := 0;

for j := 1 to N do
if i<>j then // не главная диагональ
if A[i][j] > 0 then // не поражение - считаем сумму
Sum := Sum + A[i][j]
else begin // это поражение
Sum :=-1; // ставим признак и больше нам тут искать нечего...
break; // вышли из внутреннего цикла for j
end; 
if Sum >= 0 then
write(i:2); // номер команды
Writeln(" кол-во очков: ", Sum)
end;
end;
отделила тему...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!