Форум программистов, компьютерный форум CyberForum.ru

Ввести матрицу и определить произведение полож. элементов ниже главной диагонали - C++

Восстановить пароль Регистрация
 
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
19.12.2013, 19:50     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #1
Помогите .

Ввести матрицу размером N x M. Память для массива выделить динамически.

Определить произведение положительных элементов, расположенных ниже главной диагонали матрицы.

Предусмотреть в программе использование функции пользователя.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 19:50     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали
Посмотрите здесь:

Произведение положительных элементов, ниже главной диагонали матрицы. C++
Даны три массива A[7][7], B[7][7], C[7][7]. Найти произведение ненулевых элементов, расположенных ниже главной диагонали. C++
Верно ли, что среднее арифметическое элементов выше главной диагонали больше среднего арифметического элементов ниже главной диагонали C++
Определить максимальный элемент среди элементов, лежащих ниже главной диагонали (нужны комментарии) C++
Определить: сумма элементов выше главной диагонали меньше суммы элементов ниже главной диагонали? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
12.01.2014, 22:58  [ТС]     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "stdafx.h"
#include<iostream> 
#include<iomanip> 
#include<math.h> 
using namespace std;
int main() 
{ 
int i,j,n,m; 
double **a,p; 
cout<<"vvedite razmer massiva n,m"<<endl; 
cin>>n>>m; 
if(n!=m) 
{cout<<"ne yd.ysl"<<endl; 
return 0;} 
else 
{ 
a=new double*[n]; 
for(i=0; i<=n; i++) 
a[i]=new double[m]; 
for(i=0; i<=n; i++) 
for(j=0; j<=m; j++) 
{ 
cout<<"vvedite a["<<i<<"]["<<j<<"]:"; 
cin>>a[i][j]; 
} 
cout<<"massiv А:"<<endl; 
for(i=0; i<=n; i++) 
{ 
for(j=0; j<=m; j++) 
cout<<setw(9)<<a[i][j]<<" "; 
cout<<endl; 
} 
p=1; 
for(i=0; i<=n; i++) 
{ 
for(j=0; j<=m; j++) 
{ 
if((j<i)&&(a[i][j]>0)) 
p*=a[i][j]; 
} 
} 
cout<<"proizvedenie = "<<p<<endl; 
} 
for (i=0; i<n; i++) 
delete [] a[i]; 
delete []a; 
a=NULL; 
return 0; 
}
Добавлено через 45 секунд
где то функцию пользователя надо вставить ,но не знаю где и как
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
12.01.2014, 23:05     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #3
xcube,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
 
void FillArray(double **a, int n, int m)
{
for(i=0; i<=n; i++)
for(j=0; j<=m; j++)
{
cout<<"vvedite a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
}
}
 
 
int main()
{
int i,j,n,m;
double **a,p;
cout<<"vvedite razmer massiva n,m"<<endl;
cin>>n>>m;
if(n!=m)
{cout<<"ne yd.ysl"<<endl;
return 0;}
else
{
a=new double*[n];
for(i=0; i<=n; i++)
a[i]=new double[m];
 
FillArray(a, n, m);
 
cout<<"massiv А:"<<endl;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
cout<<setw(9)<<a[i][j]<<" ";
cout<<endl;
}
p=1;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
{
if((j<i)&&(a[i][j]>0))
p*=a[i][j];
}
}
cout<<"proizvedenie = "<<p<<endl;
}
for (i=0; i<n; i++)
delete [] a[i];
delete []a;
a=NULL;
return 0;
}
ну и далее аналогично функции для печати массива и произведения
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
12.01.2014, 23:09  [ТС]     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #4
Цитата Сообщение от Stella Посмотреть сообщение
void FillArray(double **a, int n, int m) { for(i=0; i<=n; i++) for(j=0; j<=m; j++) { cout<<"vvedite a["<<i<<"]["<<j<<"]:"; cin>>a[i][j]; } }
>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(12) : error C2065: i: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(12) : error C2065: i: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(12) : error C2065: i: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(13) : error C2065: j: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(13) : error C2065: j: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(13) : error C2065: j: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(15) : error C2065: i: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(15) : error C2065: j: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(16) : error C2065: i: необъявленный идентификатор
1>c:\users\admin\documents\visual studio 2008\projects\5+\5+\5+.cpp(16) : error C2065: j: необъявленный идентификатор
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
12.01.2014, 23:11     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #5
xcube,
{ for(int i=0; i<=n; i++) for(int j=0; j<=m; j++) { cout<<"vvedite a["<<i<<"]["<<j<<"]:"; cin>>a[i][j]; }
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,787
12.01.2014, 23:11     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #6
C++
1
2
3
4
5
6
7
8
9
void FillArray(double **a, int n, int m)
{
for(int i=0; i<=n; i++)
for(int j=0; j<=m; j++)
{
cout<<"vvedite a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
}
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
12.01.2014, 23:14     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #7
xcube,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int Proizvedenie(int **mas, int n, int m)
{
    int p = 1;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            if (i > j && mas[i][j] > 0)
                p *= mas[i][j];
    return p;
}
 
 
int main()
{
    int N, M;
    cout << "Input N,M:";
    cin >> N >> M;
    int ** mas = new int *[N];
    cout << "\nInput array:\n";
    for (int i = 0; i < N; i++)
        mas[i] = new int[M];
    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++)
            cin>>mas[i][j];
 
    cout << "\nProizvedenie = " << Proizvedenie(mas, N, M);
 
    cin.get();
    cin.ignore();
}
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
12.01.2014, 23:26  [ТС]     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/
 
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
 
void FillArray(double **a, int n, int m)
{
for(int i=0; i<=n; i++)
for(int j=0; j<=m; j++)
{
cout<<"vvedite a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
}
}
 
 
int main()
{
int i,j,n,m;
double **a,p;
cout<<"vvedite razmer massiva n,m"<<endl;
cin>>n>>m;
if(n!=m)
{cout<<"ne yd.ysl"<<endl;
return 0;}
else
{
a=new double*[n];
for(i=0; i<=n; i++)
a[i]=new double[m];
 
FillArray(a, n, m);
 
cout<<"massiv А:"<<endl;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
cout<<setw(9)<<a[i][j]<<" ";
cout<<endl;
}
p=1;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
{
if((j<i)&&(a[i][j]>0))
p*=a[i][j];
}
}
cout<<"proizvedenie = "<<p<<endl;
}
for (i=0; i<n; i++)
delete [] a[i];
delete []a;
a=NULL;
return 0;
}
вот что получилось спасибо.
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
16.01.2014, 17:01  [ТС]     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #9
помогите теперь дано сразу что n и m равны .m это n . и почему то при произведение отрицательный элементов выдает 1.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,787
16.01.2014, 18:06     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #10
xcube, ваш код сразу покажите
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 18:34     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали
Еще ссылки по теме:

Найти произведение элементов матрицы, лежащих ниже главной диагонали C++
C++ Найти произведение положительных элементов, расположенных ниже главной диагонали матрицы
C++ В матрице размером n х n найти сумму элементов, лежащих ниже главной диагонали, и произведение элементов, леж

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xcube
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 12
16.01.2014, 18:34  [ТС]     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
 
void FillArray(double **a, int n, int m)
{
for(int i=0; i<=n; i++)
for(int j=0; j<=m; j++)
{
cout<<"vvedite a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
}
}
 
 
int main()
{
int i,j,n,m;
double **a,p;
cout<<"vvedite razmer massiva n,m"<<endl;
cin>>n>>m;
if(n!=m)
{cout<<"ne yd.ysl"<<endl;
return 0;}
else
{
a=new double*[n];
for(i=0; i<=n; i++)
a[i]=new double[m];
 
FillArray(a, n, m);
 
cout<<"massiv А:"<<endl;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
cout<<setw(9)<<a[i][j]<<" ";
cout<<endl;
}
p=1;
for(i=0; i<=n; i++)
{
for(j=0; j<=m; j++)
{
if((j<i)&&(a[i][j]>0))
p*=a[i][j];
}
}
cout<<"proizvedenie = "<<p<<endl;
}
for (i=0; i<n; i++)
delete [] a[i];
delete []a;
a=NULL;
return 0;
}
Yandex
Объявления
16.01.2014, 18:34     Ввести матрицу и определить произведение полож. элементов ниже главной диагонали
Ответ Создать тему
Опции темы

Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru