М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
serbakovm888
serbakovm888
25.10.2022 02:01 •  Информатика

Найти сумму элементов главной диагонали квадратной матрицы и заменить ею максимальный элемент. Оформить в виде функций. С

👇
Ответ:
poliaprokopets
poliaprokopets
25.10.2022

#include <iostream>

#include <iomanip>

using namespace std;

int** matrCreate(int n)

{

   int** M;

   M = new int *[n];

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

       M[i] = new int [n];

   return M;

}

void matrInit(int** M, int n)

{

   srand(time(0));

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

    for(int j = 0;  j < n;  j++)

     M[i][j] = rand()%199 - 99 ;

}

void matrPrint(int** M, int n)

{

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

{

    for(int j = 0;  j < n;  j++)

     cout << setw(5) << M[i][j];

   cout << endl;

}

}

void matrTransform(int** M, int n)

{

   int im, jm, max = -1000, s = 0;

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

{

    for(int j = 0;  j < n;  j++)

    {

        if (M[i][j] > max)

        {

            max = M[i][j];

            im = i;

            jm = j;

        }

        if (i == j)

            s += M[i][j];

    }

}    

M[im][jm] = s;    

}

void clearMem(int** M, int n)

{

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

{

 delete [] M[i];

}

delete [] M;

}

int main()

{

   int n;

   cin >> n;

   int **A;

   A = matrCreate(n);

   matrInit(A, n);

   matrPrint(A, n);

   cout << endl;

   matrTransform(A, n);

   matrPrint(A, n);

   clearMem;

   return 0;

}


Найти сумму элементов главной диагонали квадратной матрицы и заменить ею максимальный элемент. Оформ
4,8(66 оценок)
Открыть все ответы
Ответ:
10121945
10121945
25.10.2022

372

Объяснение:

Запишем для каждого числа, сколькими его можно получить из предыдущих чисел. Отдельно посчитаем программы 2 -> 5, 5 -> 26. Тогда для получения ответа достаточно перемножить результаты первой и второй программ (на каждый результат первой программы приходится каждый результат второй программы).

2 -> 5:

2 — 13 — "2" — 14 — "3" + "2" — 25 — "4" — 2

5 -> 26:

5 — 16 — "5" — 17 — "6" — 18 — "7" — 19 — "8" — 110 — "9" + "5" — 211 — "10" + "6" — 312 — "11" + "7" — 413 — "12" + "8" — 514 — "13" + "9" — 615 — "14" + "10" — 816 — "15" + "11" — 1117 — "16" + "12" — 1518 — "17" + "13" — 2019 — "18" + "14" — 2620 — "19" + "15" — 3421 — "20" + "16" — 4522 — "21" + "17" — 6023 — "22" + "18" — 8024 — "23" + "19" — 10625 — "24" + "20" + "5" — 14126 — "25" + "21" — 186

2 * 186 = 372

4,4(79 оценок)
Ответ:
RstneaLeu
RstneaLeu
25.10.2022

/** libraries */

#include <iostream>

#include <cmath>

#include <vector>

#include <map>

#include <set>

#include <queue>

#include <stack>

#include <algorithm>

/** libraries */

using namespace std;

/** defines */

#define ll long long

#define ld long double

#define yes cout << "YES" << "\n"

#define no cout << "NO" << "\n"

/** defines */

signed main() {

   ios_base::sync_with_stdio(false);

   cin.tie(nullptr);

   cout.tie(nullptr);

   // problem 1 //

   ll x;

   cin >> x;

   if(x > 0)

       x *= 5;

   else

       x -= 10;

   cout << x << "\n\n";

   // problem 1 //

   // problem 2 //

   ll a[3];

   for(ll i = 0; i < 3; i++)

       cin >> a[i];

   sort(a,a+3);

   cout << a[0] + a[1] << "\n\n";

   // problem 2 //

   // problem 3 //

   ll y;

   cin >> y;

   if(y > 0)

       y++;

   else

       y -= 2;

   cout << y << "\n\n";

   // problem 3 //

   // problem 4 //

   ll b[3];

   for(ll i = 0; i < 3; i++)

       cin >> b[i];

   sort(b,b+3);

   cout << b[2] + b[1];

   //problem 4 //

}

4,7(94 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ