А413в

Таблица футбольного чемпионата задана квадратной матрицей порядка [latex]n[/latex], в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен  [latex]2[/latex],  [latex]1[/latex] или  [latex]0[/latex] (числу очков, набранных в игре:  [latex]2 -[/latex] выигрыш,  [latex]1 -[/latex] ничья,   [latex]0 -[/latex] проигрыш).

в)Выяснить, имеется ли хотя бы одна команда, выигравшая более половины игр.

Матрица Результат
0 1 0
1 0 0
2 2 0
Yes
0 1 1 1
1 0 1 2
1 1 0 2
1 0 0 0
No
0 2 2 1 1
0 0 1 1 2
0 1 0 2 0
1 1 0 0 1
1 0 2 1 0
No

Код программы:

 

Зададим квадратную матрицу [latex]a[n][n][/latex]. С помощью счетчика [latex]s[/latex] посчитаем сколько у каждой команды побед. Если побед больше, чем половина от всех игр(всего игр [latex]n-1[/latex]), то выведем «Yes», в ином случае  «No» .

Надо отметить, что неравенство строгое.

Код программы можно посмотреть тут

Григорян Артак
Григорян Артак

Latest posts by Григорян Артак (see all)

5 thoughts on “А413в

  1. Программа правильно работает!

    Как минимум в трех местах в отчете пропущены пробелы: после запятой, точки и между словом и формулой.
    «Если побед больше, чем половина от всех игр» — лучше указать, а сколько же будет половина от всех игр. «то выведем “Yes”, в ином случае “No”» -так сразу и выведем? А по тексту программы я вижу присвоение 1 какой-то необъясненной в отчете переменной f и только в конце проверку значения f.

    Кстати или проверку if(s>((n-1)/2)) f=1; можно было делать уже после цикла по j, или если Вы ее делаете в цикле, то логично выйти из этого цикла. А т.к. нам нужна только знать есть такая команда или нет, то, поняв, что команда есть, можно и из внешнего цикла выйти. Существует и альтернатива этому — как Вы и написали в отчете «Если побед больше, чем половина от всех игр, то выведем “Yes” » — сразу выводить «Yes» и выходить при нахождении команды. В общем, какой вариант выбрать дело вкуса — но Ваш не самый логичный и неэффективный к тому же.

    • 1)Нашел только один пробел.
      2)Указал сколько всего игр
      3)f-булева переменная для определения того, есть ли такая команда.
      4)Вывел за цикл.

      • 1) После «матрицу» и после «побед.»
        2) правильно, но вместо «чем половина от всех игр, (всего игр n-1) то» => «чем половина от всех игр (всего игр n-1), то» (переместить запятую)
        3) да, переменная использована верно, и пояснение в ответе верное. Но лучше это пояснение указать или в отчете или в качестве комментария. Также вместо if (f==true) лучше написать просто if(f)
        4) хорошо

Добавить комментарий