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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
#1

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

15.03.2010, 19:08. Просмотров 1389. Ответов 13
Метки нет (Все метки)

Помогите плизз написать уравнение нахождения произведения главной диагонали в матрице (нужна общяя формула для лубого вида матриц (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;
}


нужно найти Р


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

Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали - C++
Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали. Используя эту функцию в матрице...

Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали - C++
Пожалуйста помогите с решением задачи на С++ Составить функцию нахождения максимального элемента Мх в диагонали матрицы, ...

Вычисление суммы и произведения элементов матрицы, находящихся на главной диагонали - C++
Задана квадратная матрица размером к на к, составить программу вычисления суммы и произведения элементов матрицы, находящихся на главной...

Поменять местами минимальный элемент главной диагонали и максимальный элемент побочной диагонали в матрице - C++
Всем привет! Помогите пожалуйста сделать задание по программированию, что бы получить допуск к экзамену :) В матрице А, сформированной...

Сумма элементов в матрице, выше главной диагонали. - C++
Вот написал код программы, которая считает сумму элементов, которые расположены выше главной диагонали. К примеру: 1 2 3 4 4 3 2 1 1...

В матрице В ( 4 на 4) найти произведение элементов главной диагонали. - C++
В матрице В ( 4 на 4) найти произведение элементов главной диагонали.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
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];
1
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.03.2010, 19:20 #3
tra, ИМХО у матрицы N x M (N != M) нет главной диагонали. Или ее надо придумывать.
для N x N
Я не въехал...
Что существует диагональ и не у квадратных матриц?...
Если существует можно ссыль в студию, мне тоже интересно.
1
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];
спосибки, но оно не считает(((
0
Genius Ignat
1236 / 774 / 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;
}
1
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??? и как
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 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;
}
1
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;
}
А во прога и она чет не работает(((( Не знаю че
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 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;
}
1
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 ошибки)))))))
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.03.2010, 21:25 #11
tra, медиумы в отпуске. Ошибки сюда.
1
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
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];
Считается ведь только диагональ
1
tra
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 14
15.03.2010, 21:58  [ТС] #13
Цитата Сообщение от Day Посмотреть сообщение
tra, вот это for(j=0;j<K;j++) убери

Добавлено через 2 минуты
CyBOSSeR,
Считается ведь только диагональ
да вот ответ не сходится
0
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2010, 22:16
Привет! Вот еще темы с ответами:

В заданной матрице вывести элементы главной диагонали - C++
В заданной матрице А вывести элементы главной диагонали.Затем вывести элементы побочной диагонали

В матрице определить сумму элементов, находящихся на главной диагонали - C++
1. В матрице размерами N*N (N не больше 10) определить сумму элементов, находящихся на главной диагонали. Матрицу сформировать из случайных...

В матрице найти сумму повторяющихся элементов главной диагонали - C++
Не могу понять как решить задачу! В матрице А найти сумму повторяющихся элементов главной диагонали; если она (полученная сумма) делится...

В матрице А размера n*n определить минимальный элемент на главной диагонали - C++
В матрице А размера n*n определить минимальный элемент на главной диагонали. Строку, содержащую этот элемент, поменять местами с первой...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.03.2010, 22:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru