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

Произведение положительных элементов, ниже главной диагонали матрицы. - C++

Восстановить пароль Регистрация
 
Bald_shima
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 8
29.12.2011, 17:59     Произведение положительных элементов, ниже главной диагонали матрицы. #1
Проверьте плиз, что не так в программе:

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

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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
int **a, i, j, n, m, x=1;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new int*[n]; 
for(i=0; i<n; i++) 
a[i] = new int[m]; 
for (i=0; i<n; i++) 
for (j=0; j<m; j++)
{
cout << "Vvedite a[" << i << "][" << j << "]: " ;
cin >> a[i][j];
  
}
cout << "Мassiv A:" << endl;  
  for (i=0; i<n; i++)  
   { 
     for (j=0; j<m; j++)  
     cout << setw (9) << a[i][j] << "  ";  
    cout << endl; 
   }   
for (i=0; i<n; i++)
 {for (j=1; j<m; j++) 
         if (a[i][j+i]>0)
         x*=a[i][j+i];
         }
    cout << "proizvedenie = " << x;
 cout << endl; 
        
     for(i=0; i<n; i++)           
            delete [] a[i]; 
     delete []a; 
     a = NULL; 
 
     return 0; 
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2011, 17:59     Произведение положительных элементов, ниже главной диагонали матрицы.
Посмотрите здесь:

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию C++
C++ Зануление элементов матрицы ниже главной диагонали
Определить минимальный элемент каждой строки матрицы и найти произведение положительных элементов, расположенных на ее главной диагонали. C++
Ввести матрицу и определить произведение полож. элементов ниже главной диагонали C++
C++ Найти количество положительных элементов расположенных ниже главной диагонали матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.12.2011, 18:04     Произведение положительных элементов, ниже главной диагонали матрицы. #2
Цитата Сообщение от Bald_shima Посмотреть сообщение
for (i=0; i<n; i++)
{for (j=1; j<m; j++)
if (a[i][j+i]>0)
x*=a[i][j+i];
}
заменить на:
C++
1
2
3
4
for (i=1; i<n; i++)
 {for (j=0; j<i && j<m; j++)                
                 x*=a[i][j];
                 }
Bald_shima
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 8
29.12.2011, 20:23  [ТС]     Произведение положительных элементов, ниже главной диагонали матрицы. #3
Цитата Сообщение от valeriikozlov Посмотреть сообщение
заменить на:

for (i=1; i<n; i++)
{for (j=0; j<i && j<m; j++)
x*=a[i][j];
}
А вот здесь не меньше либо равно??
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
30.12.2011, 04:52     Произведение положительных элементов, ниже главной диагонали матрицы. #4
Цитата Сообщение от Bald_shima Посмотреть сообщение
А вот здесь не меньше либо равно??
Итак:
Если нужно произведение положительных элементов, ниже главной диагонали матрицы, то пишите так:
C++
1
2
3
4
for (i=1; i<n; i++)
 {for (j=0; j<i && j<m; j++)  
        if(a[i][j]>0) x*=a[i][j];
                 }
Если нужно: произведение положительных элементов, ниже главной диагонали матрицы и на самой главной диагонали, то пишите так:
C++
1
2
3
4
for (i=0; i<n; i++)
 {for (j=0; j<=i && j<m; j++)  
        if(a[i][j]>0) x*=a[i][j];
                 }
Bald_shima
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 8
31.12.2011, 01:46  [ТС]     Произведение положительных элементов, ниже главной диагонали матрицы. #5
valeriikozlov, ясно! Спасибо.
Yandex
Объявления
31.12.2011, 01:46     Произведение положительных элементов, ниже главной диагонали матрицы.
Ответ Создать тему
Опции темы

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