Консультация № 159790
06.02.2009, 19:28
0.00 руб.
0 2 2
Уважаемые эксперты и люди, знающие программирование на С++. Помогите, пожалуйста, ещё разок! Дана матрица А[6][6], нужно найти произведение элементов, находящихся под главной диагональю. Уверена, что для Вас это не составит большого труда! Заранее благодарю!

Обсуждение

Неизвестный
06.02.2009, 19:57
общий
это ответ
Здравствуйте, Martynova Katya!
Программа простая. Краткие комментарии в программе.

Приложение:
#include <locale>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
locale::global(locale("rus_rus.866"));
srand((unsigned)time(0));
// Размерность матрицы
const unsigned int N=6;
double A[N][N];
// Заполняем матрицу случайными значениями и выводим ее на экран
wcout<<L"Исходная матрица A["<<N<<L"]["<<N<<L"]:"<<endl;
for(unsigned int i=0;i<N;i++)
{
for(unsigned int j=0;j<N;j++)
{
A[i][j]=static_cast<double>(rand())/(RAND_MAX+1)*100-50;
wcout<<setprecision(3)<<setw(7)<<A[i][j]<<L' ';
}
wcout<<endl;
}
double p=1;
for(unsigned int i=1;i<N;i++)
for(unsigned int j=0;j<i;j++)p*=A[i][j];
wcout<<L"Произведение элементов под главной диагональю:"<<p<<endl;
system("PAUSE");
return 0;
}
Неизвестный
06.02.2009, 22:50
общий
это ответ
Здравствуйте, Martynova Katya!

вот функция, которая принимает в качестве параметров указатель на массив и размерность массива.
Думаю разберетесь!

int func(int *mas, int n)

{
int S=1;
for(int i=0;i<n-1;i++)

{
for(int j=i;j<i+1;j++)

{
S*=mas[i+1][j];
}
}

return S;
}
Форма ответа