В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Kira2236
Kira2236
03.08.2020 20:47 •  Информатика

Язык pithon
игра в числа ведётся на одномерном массиве целых положительных чисел. перед началом, жеребьёвкой определяется, кто будет ходить первым (первый игрок), а кто – вторым (второй игрок). процесс игры состоит в том, что игроки по очереди (сначала первый игрок, затем второй, следом опять первый и так далее) вычёркивают числа из массива. вычеркнуть можно только число, находящееся в конце или начале оставшегося массива. при этом всегда вычёркивается максимальное число из этих двух. если первое и последнее числа массива равны, то вычёркивается первое. игра продолжается до того момента, пока не будут вычеркнуты все числа. каждое вычеркнутое число идёт в актив тому игроку, который его вычеркнул. после окончания игры каждый игрок суммирует вычеркнутые им числа. победителем объявляется тот, кто наберет больше очков. некоторые игроки поняли, что результат не зависит от стратегии игры, и решили попросить вас написать программу для получения результата. входные данные
в первой строке находится одно целое число n – количество чисел в массиве (1 ≤ n ≤ 104). во второй строке находятся n целых положительных чисел из диапазона [1, 32000], разделённых пробелом.
выходные данные
выведите два числа, разделенные двоеточием. первое число – количество очков, набираемых первым игроком при игре на этом массиве, второе число – для второго.

Показать ответ
Ответ:
ilyazavrik
ilyazavrik
11.05.2020 05:21
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;
    const int N = 4;
    const int M = 4;
    int Y[N][M];

    //как-нибудь заполняем матрицу
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            Y[i][j] = (i + 1) * (j + 1);

    //выведем её на экран
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
            cout << setw(3) << Y[i][j];
        cout << endl;
    }
        
    //находим сумму элементов побочной диагонали
    int S = 0;
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            if (j == M - 1 - i)
                S = S + Y[i][j];
    cout << "Sum of adverse diagonal of array: " << S << endl;

    //находим сумму всех элементов матрицы
    int Sum = 0;
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            Sum = Sum + Y[i][j];
    cout << "Sum of all elements of array: " << Sum << endl;
    return 0;
}
0,0(0 оценок)
Ответ:
irina707
irina707
01.09.2020 02:08
// PascalABC.NET 3.0, сборка 1156 от 30.01.2016
function Avg(a:array[,] of integer):real;
begin
  var s:=0; var k:=0;
  foreach var e:integer in a do
    if e>0 then begin s+=e; Inc(k) end;
  if k>0 then Result:=s/k else Result:=1e-100;
end;

begin
  var A:=MatrixRandom(4,4,-50,50); Writeln(A);
  Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
  var B:=MatrixRandom(5,5,-30,30); Writeln(B);
  Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
  var C:=MatrixRandom(4,5,-25,38); Writeln(C);
  Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.

Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота