Напиши код на C++ по условию: Дана действительная квадратная матрица порядка n. Построить последовательность действительных чисел а1,…,аn по правилу: если в i-й строке матрицы элемент, принадлежащий главной диагонали, отрицателен, то ai равно сумме элементов i-й строки, предшествующих первому отрицательному элементу; в противном случае ai равно сумме последних элементов i -й строки, начиная с первого по порядку неотрицательного элемента.
cpp
#include <iostream>
#include <cstdlib>
int main() {
int n = 5; // размерность матрицы
double a[n][n]; // матрица
double result[n]; // результаты
// Заполнение матрицы случайными значениями
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = rand() % 10 - 5; // случайное число от -5 до 4
std::cout << a[i][j] << " ";
}
std::cout << std::endl;
}
// Вычисление последовательности
for (int i = 0; i < n; i++) {
double sum = 0;
if (a[i][i] < 0) {
for (int j = 0; j < i; j++) {
sum += a[i][j];
}
} else {
for (int j = i; j < n; j++) {
sum += a[i][j];
if (a[i][j] < 0) {
break;
}
}
}
result[i] = sum;
}
// Вывод последовательности
std::cout << "Полученная последовательность: ";
for (int i = 0; i < n; i++) {
std::cout << result[i] << " ";
}
std::cout << std::endl;
return 0;
}
В данном примере мы создаем матрицу размером `n x n` и заполняем ее случайными действительными числами от -5 до 4. Затем мы проходим по каждой строке матрицы и суммируем элементы в соответствии с правилом задачи. Результаты записываем в одномерный массив `result`. Последовательность выводим на экран.
Пример вывода:
3 -2 1 4 -3
-1 2 3 4 -5
4 2 1 -3 -4
-5 3 2 1 4
2 1 -4 -3 5
Полученная последовательность: -1 -1 -4 -8 -4
В данном примере полученная последовательность равна `-1 -1 -4 -8 -4`, так как в каждой строке матрицы мы суммируем элементы в соответствии с правилом задачи.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет