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

Ответы на вопрос

Ответ:
#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;
}
Объяснение:



Для выполнения задачи на языке C++, вы можете воспользоваться следующим кодом:
- Упорядочить одномерный вещественный массив по убыванию методом перебора:
cpp#include <iostream>
void bubbleSortDescending(float arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
// Обмен элементов, если текущий больше следующего
float temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
float arr[20] = {3.0, 1.5, 2.7, 4.1, 0.9, 5.2, 6.0, 1.3, 2.0, 7.3, 3.9, 5.7, 2.2, 0.8, 4.4, 6.1, 1.2, 3.5, 2.8, 4.6};
int size = 20;
bubbleSortDescending(arr, size);
std::cout << "Отсортированный массив по убыванию: ";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
- Сформировать вещественную матрицу 5x5 и вычислить произведение отрицательных элементов над и под главной диагональю матрицы:
cpp#include <iostream>
int main() {
float matrix[5][5] = {
{1.0, -2.0, 3.0, 4.0, -5.0},
{6.0, 7.0, -8.0, 9.0, 10.0},
{-11.0, 12.0, 13.0, -14.0, 15.0},
{16.0, -17.0, 18.0, 19.0, -20.0},
{21.0, 22.0, -23.0, 24.0, 25.0}
};
float product_above_diagonal = 1.0;
float product_below_diagonal = 1.0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i < j) {
if (matrix[i][j] < 0) {
product_above_diagonal *= matrix[i][j];
}
} else if (i > j) {
if (matrix[i][j] < 0) {
product_below_diagonal *= matrix[i][j];
}
}
}
}
std::cout << "Произведение отрицательных элементов над главной диагональю: " << product_above_diagonal << std::endl;
std::cout << "Произведение отрицательных элементов под главной диагональю: " << product_below_diagonal << std::endl;
return 0;
}
Этот код создает матрицу 5x5, вычисляет произведение отрицательных элементов над и под главной диагональю и выводит результаты.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili