• Предмет: Информатика
  • Автор: krenevakristina
  • Вопрос задан 1 год назад

100 баллов. Срочно! оба задания
1) упорядочить одномерный вещественный массив из 20 элементов по убыванию методом перебора.
2) Сформировать вещественную матрицу 5х5. Вычислить произведение отрицательных элементов, находящихся над и под главной диагональю матрицы.
Язык С++

Ответы

Ответ дал: deker025
1

Ответ:

#include <iostream>

#include <iomanip>

#include <time.h>

#include <cstdlib>

const int size(5);                              //размер матрицы (квадратной)

//выставляем цветконсоли и текста (6 - коричневый цвет фона, 7 - цвет текста)

const int NotUsed = system( "color 67" );

//рандомно заполняем матрицу случайными числами от 0 до 50

void random(int _mas[][size]){

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

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

           _mas[i][j] = rand() % 51;

}

//вывод матрицы на консоль

void print(int _mas[][size]){

   std::cout << "Matrix:\n";

   for(int i = 0; i < size; ++i){

       std::cout << "\n\t";

       for(int j = 0; j < size; ++j){

           std::cout << std::setw(3) << _mas[i][j] << ' ';

       }

   }

   std::cout << std::endl << std::endl;

}

//функция упорядочивания строк матрицы по возрастанию

void regularize(int _mas[][size]){

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

       for(int j = 0; j < size - 1; ++j)

           for(int k = j + 1; k < size; ++k)

               if(_mas[i][j] > _mas[i][k]){

                   int temp = _mas[i][j];

                   _mas[i][j] = _mas[i][k];

                   _mas[i][k] = temp;

               }

}

//создаем массив массив из элементов главной диагонали матрицы

void create_mas(int _mas[][size]){

   int arr[size];

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

       arr[i] = _mas[i][i];

   std::cout << "Array: ";

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

       std::cout << arr[i] << ' ';

   std::cout << std::endl << std::endl;

}

//среднее арифметическое элементов побочной диагонали матрицы

void diagonal(int _mas[][size]){

   double sum(0);

   for(int i = size - 1, j = 0; i >= 0; --i, ++j)

       sum += _mas[j][i];

   std::cout << "Mean: " << sum / size << std::endl;

}

int main()

{

   srand(time(nullptr));           //чтобы рандомные числа не повторялись

   int mas[size][size];            //матрицы 5х5

   //вызовы функций

   random(mas);

   print(mas);

   regularize(mas);

   print(mas);

   create_mas(mas);

   diagonal(mas);

   std::cout << std::endl << std::endl;

   return 0;

}

Объяснение:


krenevakristina: только там упорядочивание по убыванию, а не возрастанию
deker025: Сорян
Вас заинтересует