1) Найдите суммы элементов каждой строки, произведения элементов каждого столбца и максимальный элемент на главной

  • 31
1) Найдите суммы элементов каждой строки, произведения элементов каждого столбца и максимальный элемент на главной диагонали в заданном массиве действительных чисел размерности 10х10 на языке программирования С++ (repl.it).

2) Создайте два отсортированных по возрастанию массива, содержащих четные и нечетные числа из заданного одномерного массива целых чисел на языке программирования С++ (repl.it).

3) Найдите максимальное и минимальное число в заданном одномерном массиве из действительных чисел, который был сгенерирован генератором случайных чисел на языке программирования С++ (repl.it).
Эдуард
10
Конечно, я могу помочь вам решить эти задачи на языке программирования С++. Давайте начнем с первой задачи.

1) Для нахождения сумм элементов каждой строки, произведений элементов каждого столбца и максимального элемента на главной диагонали в заданном массиве действительных чисел размерности 10х10, вот как можно это сделать:

cpp
#include
#include

int main() {
const int rows = 10;
const int cols = 10;
double matrix[rows][cols] = {
// Инициализируйте ваш массив действительными числами здесь
};

double rowSums[rows] = {0};
double colProducts[cols] = {1}; // Используем 1 как начальное значение произведения

double maxDiagonalElement = std::numeric_limits::lowest();

// Вычисляем суммы элементов каждой строки, произведения элементов каждого столбца и максимальный элемент на главной диагонали
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
// Нахождение суммы элементов каждой строки
rowSums[i] += matrix[i][j];

// Нахождение произведения элементов каждого столбца
colProducts[j] *= matrix[i][j];

// Нахождение максимального элемента на главной диагонали
if(i == j && matrix[i][j] > maxDiagonalElement) {
maxDiagonalElement = matrix[i][j];
}
}
}

// Выводим результаты
std::cout << "Суммы элементов каждой строки:\n";
for(int i = 0; i < rows; i++) {
std::cout << "Строка " << i + 1 << ": " << rowSums[i] << std::endl;
}

std::cout << "\nПроизведения элементов каждого столбца:\n";
for(int j = 0; j < cols; j++) {
std::cout << "Столбец " << j + 1 << ": " << colProducts[j] << std::endl;
}

std::cout << "\nМаксимальный элемент на главной диагонали: " << maxDiagonalElement << std::endl;

return 0;
}


Обратите внимание, что я оставил комментарии в коде для лучшего понимания каждого шага решения задачи.

Перейдем теперь ко второй задаче.

2) Чтобы создать два отсортированных по возрастанию массива, содержащих четные и нечетные числа из заданного одномерного массива целых чисел, можно использовать следующий код на языке программирования С++:

cpp
#include
#include
#include

int main() {
int arr[] = { /* Ваш одномерный массив целых чисел */ };
int size = sizeof(arr) / sizeof(arr[0]);

std::vector evenNumbers;
std::vector oddNumbers;

for(int i = 0; i < size; i++) {
if(arr[i] % 2 == 0) {
evenNumbers.push_back(arr[i]);
}
else {
oddNumbers.push_back(arr[i]);
}
}

std::sort(evenNumbers.begin(), evenNumbers.end());
std::sort(oddNumbers.begin(), oddNumbers.end());

// Выводим результаты
std::cout << "Массив четных чисел в порядке возрастания: ";
for(int num : evenNumbers) {
std::cout << num << " ";
}

std::cout << "\nМассив нечетных чисел в порядке возрастания: ";
for(int num : oddNumbers) {
std::cout << num << " ";
}

return 0;
}


Обратите внимание, что я использовал встроенный массив `arr[]`, который нужно заменить на ваш собственный.

Перейдем наконец к третьей задаче.

3) Чтобы найти максимальное и минимальное число в заданном одномерном массиве из действительных чисел, который был сгенерирован генератором случайных чисел, вы можете использовать следующий код на языке программирования С++:

cpp
#include
#include
#include

int main() {
const int size = 100; // Размер вашего массива
double arr[size];

// Инициализация массива генератором случайных чисел
std::random_device rd;
std::mt19937 rng(rd());
std::uniform_real_distribution dist(0.0, 100.0); // Настройте границы по вашему усмотрению

for(int i = 0; i < size; i++) {
arr[i] = dist(rng);
}

// Нахождение максимального и минимального числа
double maxNumber = std::numeric_limits::lowest();
double minNumber = std::numeric_limits::max();

for(int i = 0; i < size; i++) {
if(arr[i] > maxNumber) {
maxNumber = arr[i];
}
if(arr[i] < minNumber) {
minNumber = arr[i];
}
}

// Вывод результатов
std::cout << "Максимальное число: " << maxNumber << std::endl;
std::cout << "Минимальное число: " << minNumber << std::endl;

return 0;
}


Обратите внимание, что в данном примере я создал массив размером 100 и заполнил его случайными действительными числами в диапазоне от 0 до 100. Вы можете настроить размер массива и диапазон случайных чисел под свои требования.

Я надеюсь, что эти решения помогут вам в выполнении задач по программированию на языке С++. Если у вас возникнут какие-либо дополнительные вопросы, не стесняйтесь задавать их. Удачи вам!