Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
#1

Вычислить произведение ненулевых элементов матрицы

04.02.2014, 20:18. Просмотров 1067. Ответов 25
Метки нет (Все метки)

Вычислить произведение ненулевых элементов матрицы A(n,n), выделенном на рисунке темным цветом.
0
Миниатюры
Вычислить произведение ненулевых элементов матрицы  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 20:18
Ответы с готовыми решениями:

Вычислить произведение ненулевых элементов матрицы
Составить программу в которой, 1) организовать ввод матрицы размера mxn из...

Для каждого столбца матрицы вычислить произведение ненулевых элементов
Для каждой колонки двумерного массива Q вычислить произведение элементов,...

Вычислить произведение ненулевых элементов квадратной матрицы, расположенных под главной диагональю
Написать программу для вычисления произведения ненулевых элементов квадратной...

Вычислить произведение ненулевых элементов
Даны K наборов целых чисел по N элементов в каждом наборе. Для каждого набора...

Матрицы: Написать функцию, которая находит произведение ненулевых элементов двух строк матрицы
Задание: В предлагаемых вариантах необходимо написать и протестировать...

25
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 21:44 #2
Alex_sandra, не совсем понятно, причем тут рисунок если матрица n на n?
ИЛи нужно вычислить произведение элементов матрицы стоящих на позиции темных квадратов?
Можно немножко по подробнее об условии
0
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
04.02.2014, 22:00  [ТС] #3
в задании больше ничего не написано, но я думаю надо вычислить произведение элементов матрицы стоящих на позиции темных квадратов, как вы сказали))
0
S_el
2134 / 1662 / 354
Регистрация: 15.12.2013
Сообщений: 6,603
04.02.2014, 22:16 #4
Что уже сделали?
0
Ev_Hyper
Заблокирован
04.02.2014, 22:21 #5
Цитата Сообщение от virtuos553 Посмотреть сообщение
Alex_sandra, не совсем понятно, причем тут рисунок если матрица n на n?
из рисунка понятна общая формула для решения задачи:
произведение элементов сверху-снизу от главной-побочной диагонали.
0
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 22:23 #6
ну то есть если я правильно понял, надо искать произведение всех ненулевых элементов матрицы находящихся на позиции этих темных квадратов( сам алгоритм из этого рисунка понятен как они образуются), при этом массив динамический n*n , все правильно?
0
S_el
2134 / 1662 / 354
Регистрация: 15.12.2013
Сообщений: 6,603
04.02.2014, 22:24 #7
Верно
0
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 22:24 #8
тогда просто непонятно, как например по такому алгоритму считать для матрицы например 4 на 4
0
S_el
2134 / 1662 / 354
Регистрация: 15.12.2013
Сообщений: 6,603
04.02.2014, 22:27 #9
Цитата Сообщение от virtuos553 Посмотреть сообщение
тогда просто непонятно, как например по такому алгоритму считать для матрицы например 4 на 4
2 и 3 элементы нижней строки.
0
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 22:27 #10
S_el, если матрица 4 на 4 то как брать элементы?

C++
1
2
3
4
0 1 1 0
0 0 1 0
0 0 1 0
0 1 1 0
можете показать на примере единиц? я не совсем понимаю как для n четного делать
0
Ev_Hyper
Заблокирован
04.02.2014, 22:28 #11
Цитата Сообщение от virtuos553 Посмотреть сообщение
тогда просто непонятно, как например по такому алгоритму считать для матрицы например 4 на 4
Например:
Код
1 2 3 4
5 6 7 8
9 9 9 9
9 9 9 9
тогда пр = 2*3*9*9
0
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 22:29 #12
а как же первая строка?
0
Ev_Hyper
Заблокирован
04.02.2014, 22:29 #13
что с первой строкой?
0
virtuos553
48 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
04.02.2014, 22:30 #14
аааа, ну все тогда, то есть если n четное, мы посередине две строки не берем
0
Ev_Hyper
Заблокирован
04.02.2014, 22:33 #15
Уф, как я уже писал:
произведение элементов сверху-снизу от главной-побочной диагонали.
0
gunslinger
случайный прохожий
1275 / 806 / 319
Регистрация: 20.07.2013
Сообщений: 2,262
04.02.2014, 23:54 #16
Builder (вроде работает и для четных n, но особо не тестировал):
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
  const n = 9;
  int i, j, mas[n][n];
  long double mult = 0;
  randomize();
  for (i = 0; i < n/2; i++)
    for (j = i+1; j < n-i-1; j++)
    {
      mas[i][j] = random(10);
      if (mas[i][j] != 0)
      {
        if (mult == 0)
          mult = 1;
        mult *= mas[i][j];
      }
    }
  for (i = n/2+1; i < n; i++)
    for (j = n-i; j < i; j++)
    {
      mas[i][j] = random(10);
      if (mas[i][j] != 0)
      {
        if (mult == 0)
          mult = 1;
        mult *= mas[i][j];
      }
    }
  ShowMessage(FloatToStr(mult));
0
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
05.02.2014, 00:15  [ТС] #17
Ребят, у меня ошибки:
Код
Ошибка	1	error C3861: randomize: идентификатор не найден
Ошибка	2	error C3861: random: идентификатор не найден
я так понимаю, нужно какую-то библиотеку подключить?? или нет??
0
gunslinger
случайный прохожий
1275 / 806 / 319
Регистрация: 20.07.2013
Сообщений: 2,262
05.02.2014, 01:38 #18
Для консоли вроде функция srand, библиотека math или подобное (если нужна). Но в этом вопросе я почти все подзабыл.
0
Ev_Hyper
Заблокирован
05.02.2014, 09:28 #19
gunslinger, проще сразу сделать произведение равным 1, тогда не прийдется писать дополнительные условия сравнения.
0
Fear1911
7 / 4 / 14
Регистрация: 05.02.2014
Сообщений: 131
05.02.2014, 09:33 #20
ну как бы проверкой будет n/на любое число - если 0, то умножаем с предыдущем суммой P, иначе дальше.

я так понял все остальные белые - 0?

если нет,то задаем еще условие при отборе ниже главной диагонали И выше побочной, пока не дойдем до центра, оттуда реверс
0
05.02.2014, 09:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 09:33

Вычислить произведение ненулевых элементов массива
Дан одномерный массив, состоящий из N вещественных элементов. 4.1. Заполнить...

Найти произведение ненулевых элементов двух строк матрицы
Написать и протестировать функцию, которая находит произведение ненулевых...

Найти минимальный и вычислить произведение ненулевых элементов в каждом из столбцов
Найти минимальный и вычислить произведение ненулевых элементов в каждом из...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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