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

уравнение нахождения произведения главной диагонали в матрице - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 19:08     уравнение нахождения произведения главной диагонали в матрице #1
Помогите плизз написать уравнение нахождения произведения главной диагонали в матрице (нужна общяя формула для лубого вида матриц (NxM && NxN)) для си++.



Добавлено через 3 минуты
вот прога

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#define n 3      // а если н 4
#define k 3     //  а к 5
using namespace std;
int main()
{
        int a[n][k];
        int p, i, j;
        srand(time(0));
        for(int i = 0; i < n; i++){
                for(int j = 0; j < k; j++){
                       a[n][k] = rand()%20;
                       cout << a[n][k] << "  ";
                }
                cout << endl;
        }
        ????????? p = a[1][1]*a[2][2]*a[3][3];    ?????????
        cout <<"\nProizvedenie v glavnoy diagonali: " << p << endl;
        getch();
        return 0;
}


нужно найти Р


За ранее спосибо)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2010, 19:08     уравнение нахождения произведения главной диагонали в матрице
Посмотрите здесь:

Вычисление суммы и произведения элементов матрицы, находящихся на главной диагонали C++
C++ В матрице В ( 4 на 4) найти произведение элементов главной диагонали.
Сумма элементов в матрице, выше главной диагонали. C++
C++ Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали
C++ Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
15.03.2010, 19:15     уравнение нахождения произведения главной диагонали в матрице #2
tra, ИМХО у матрицы N x M (N != M) нет главной диагонали. Или ее надо придумывать.
для N x N
C
1
2
  p = 1;
  for(i=0;i<N;i++) p *= a[i][i];
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.03.2010, 19:20     уравнение нахождения произведения главной диагонали в матрице #3
tra, ИМХО у матрицы N x M (N != M) нет главной диагонали. Или ее надо придумывать.
для N x N
Я не въехал...
Что существует диагональ и не у квадратных матриц?...
Если существует можно ссыль в студию, мне тоже интересно.
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 19:24  [ТС]     уравнение нахождения произведения главной диагонали в матрице #4
Цитата Сообщение от Day Посмотреть сообщение
tra, ИМХО у матрицы N x M (N != M) нет главной диагонали. Или ее надо придумывать.
для N x N
C
1
2
  p = 1;
  for(i=0;i<N;i++) p *= a[i][i];
спосибки, но оно не считает(((
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.03.2010, 20:01     уравнение нахождения произведения главной диагонали в матрице #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
#define N 3
int main(){
    int matrix[N][N] = {
        {1,2,3},
        {4,5,6},
        {7,8,9}
 
    };
int p = 1;
int i;
for(i=0;i<N;i++)p*=matrix[i][i];
printf(" pr % d ",p);
printf("\n");
getch();
return 0;
}
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 20:12  [ТС]     уравнение нахождения произведения главной диагонали в матрице #6
Цитата Сообщение от Genius Ignat Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
#define N 3
int main(){
    int matrix[N][N] = {
        {1,2,3},
        {4,5,6},
        {7,8,9}
 
    };
int p = 1;
int i;
for(i=0;i<N;i++)p*=matrix[i][i];
printf(" pr % d ",p);
printf("\n");
getch();
return 0;
}

А можно подключить rand??? и как
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.03.2010, 20:17     уравнение нахождения произведения главной диагонали в матрице #7
tra, как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
#define N 3
int main(){
        int matrix[N][N] = {
                {rand(),rand(),rand()},
                {rand(),rand(),rand()},
                {rand(),rand(),rand()}
 
        };
int p = 1;
int i;
for(i=0;i<N;i++)p*=matrix[i][i];
printf(" pr % d ",p);
printf("\n");
getch();
return 0;
}
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 20:44  [ТС]     уравнение нахождения произведения главной диагонали в матрице #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
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define N 3
#define K 3
using namespace std;
int main()
{
        int a[N][K];
    int p=1, i, j;
        srand(time(0));
        for(int i=0;i<N;i++){
                for(int j=0;j<K;j++){
                       a[N][K] = rand()%20;
                       cout << a[N][K] << "  ";
                }
                cout << endl;
        }
        for(i=0;i<N;i++)
        for(j=0;j<K;j++)p*=a[i][i];
        cout <<"\nProizvedenie v glavnoy diagonali: " << p << endl;
        getch();
        return 0;
}
А во прога и она чет не работает(((( Не знаю че
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.03.2010, 21:01     уравнение нахождения произведения главной диагонали в матрице #9
tra, вот, работает как надо:
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
#include <iostream>
#include <ctime>
 
int main()
{
  const int size = 3;
        int arr[size][size];
  const int max  = 20;
 
  srand(time(NULL));
 
  for (int i = 0; i < size; ++i)
    for (int j = 0; j < size; ++j)
      arr[i][j] = rand() % max;
 
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j)
      std::cout << arr[i][j] << "\t";
    std::cout << std::endl;
  }
 
  int product = 1;
 
  for (int i = 0; i < size; ++i)
    for (int j = 0; j < size; ++j)
      product += arr[i][j];
 
  std::cout << "Product: " << product << std::endl;
 
  return 0;
}
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 21:14  [ТС]     уравнение нахождения произведения главной диагонали в матрице #10
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
tra, вот, работает как надо:
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
#include <iostream>
#include <ctime>
 
int main()
{
  const int size = 3;
        int arr[size][size];
  const int max  = 20;
 
  srand(time(NULL));
 
  for (int i = 0; i < size; ++i)
    for (int j = 0; j < size; ++j)
      arr[i][j] = rand() % max;
 
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j)
      std::cout << arr[i][j] << "\t";
    std::cout << std::endl;
  }
 
  int product = 1;
 
  for (int i = 0; i < size; ++i)
    for (int j = 0; j < size; ++j)
      product += arr[i][j];
 
  std::cout << "Product: " << product << std::endl;
 
  return 0;
}

3 ошибки)))))))
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.03.2010, 21:25     уравнение нахождения произведения главной диагонали в матрице #11
tra, медиумы в отпуске. Ошибки сюда.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
15.03.2010, 21:41     уравнение нахождения произведения главной диагонали в матрице #12
tra, вот это for(j=0;j<K;j++) убери

Добавлено через 2 минуты
CyBOSSeR,
for (int i = 0; i < size; ++i)
for (int j = 0; j < size; ++j)
product += arr[i][j];
Считается ведь только диагональ
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 21:58  [ТС]     уравнение нахождения произведения главной диагонали в матрице #13
Цитата Сообщение от Day Посмотреть сообщение
tra, вот это for(j=0;j<K;j++) убери

Добавлено через 2 минуты
CyBOSSeR,
Считается ведь только диагональ
да вот ответ не сходится
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2010, 22:16     уравнение нахождения произведения главной диагонали в матрице
Еще ссылки по теме:

Поменять местами минимальный элемент главной диагонали и максимальный элемент побочной диагонали в матрице C++

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

Или воспользуйтесь поиском по форуму:
Liebe
...
 Аватар для Liebe
891 / 74 / 5
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
15.03.2010, 22:16     уравнение нахождения произведения главной диагонали в матрице #14
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
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define N 3
#define K 3
using namespace std;
int main()
{
                int a[N][K];
        int p=1, i, j;
                srand(time(0));
                for(int i=0;i<N;i++){
                                for(int j=0;j<K;j++){
                                          // a[N][K] = rand()%20; 
                                          a[i][j] = rand()%20; // а то у тебя значения записывались только 
                                                                         //в   последний элемент
                                        //   cout << a[N][K] << "  ";
                                               cout << a[i][j] << "  ";
                                }
                                cout << endl;
                }
                for(i=0;i<N;i++)
                //for(j=0;j<K;j++)
                p*=a[i][i];
                cout <<"\nProizvedenie v glavnoy diagonali: " << p << endl;
                getch();
                return 0;
}
Yandex
Объявления
15.03.2010, 22:16     уравнение нахождения произведения главной диагонали в матрице
Ответ Создать тему
Опции темы

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