Программа с массивами C++/C.
Существует массив T[1..n,1..n] с целыми числами.
Составьте программу, которая будет вычислять произведение ненулевых элементов над диагональю и считать отрицательные элементы под главной диагональю главной матрицы Т.
1) И алгоритм решения если можно.
Answers & Comments
#include <iostream>
#include <time.h>
using namespace std;
int main() {
int T[255][255];
int N, sum, mult;
cout << "Vvedite N = "; cin >> N;
cout << "***Random matrix***" << endl;
srand(time(NULL));
//Генерация массива
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
T[i][j] = rand() % 41 + (-20);
printf("%4.0d ", T[i][j]);
}
cout << endl;
}
//Сумма отрицательных над главной
sum = 0;
for (int i = 1; i < N; i++) {
for (int j = 0; j < N; j++){
if (j == i - 1) {
if (T[i][j] < 0){
sum = sum + T[i][j];
}
}
}
}
cout << "Summa = " << sum << endl;
//Произведение ненулевых под главной
mult = 1;
for (int i = 0; i < N; i++) {
for (int j = 1; j < N; j++) {
if (j == i + 1) {
if (T[i, j] != 0) {
mult = mult * T[i][j];
}
}
}
}
cout << "Proizvedenie = " << mult << endl;
system("pause");
return 0;
}