-1 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 20
1

Произведение элементов данного массива, расположенных одновременно выше главной и ниже побочной диагонали

13.10.2015, 00:41. Показов 3259. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, я не пойму почему не работает.

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

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include<iostream>
using namespace std;
const int n = 5;
 
int main()
 
{
 
int  j, C[n][n];
int i;
 
int Pr;          // Pr —     переменная для подсчета произведения
int n=10;
//------------------- формирование матрицы С[n][n]
 
cout << "------ Матрица С[n][n]: \n";
 
for (int і = 0; і < n; i++)
 
{
 
for (j = 0; j < n; j++)
{
 
C[i][j]=i+j;
 
cout << C[i][j] << " " ;      
 
}
 
cout << endl;
 
}
 
/* вычисление произведения (Pr) элементов ниже побочной диагонали и их последующее обнуление */
Pr = 1; //начальное значение Рr
for (int і = 0; і < n; i++)
for (j = n - і; j < n; j++)
{ Pr*= C[i][j];
 
C[i][j] = 0; }
 
//-------------- вывод па экран полученных результатов
 
cout << "\n Произведение ниже побочной диагон. = " <<
 
cout<<Pr<<endl;
 
cout << "\n-------- Преобразованная матрица \n";
 
for (int і = 0; і < n; i++)
 
{ for (j = 0; j < n; j++) cout << C[i][j] << " "; cout << endl; }
//---------------------- вывод элементов ниже главной диагонали
 
cout << "\n Элементы ниже главной диагонали ";
for (int і = 0; і < n; i++)
{ for (j=0; j<n; j++)
if (j < i) cout << C[i][j] << " ";
else cout << " " ;
cout << endl;
}
 
//--------------------- вывод элементов выше побочной диагонали
 
cout << "\n Элементы выше побочной диагонали \n";
for (int і = 0; і < n; i++)
{ for (j = 0; j < n; j++)
 
if (j < n-1-i) cout << C[i][j] << " ";
else cout << " "; cout << endl; }
//сіn>>і;
return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2015, 00:41
Ответы с готовыми решениями:

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

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
не соображу В среде MS Visual C++ разработать программу, которая формирует матрицу размером n х n...

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

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной...

11
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
13.10.2015, 01:03 2
Veronika418, Какие у тебя трудности то? что бы не шерстить весь код?
0
-1 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 20
13.10.2015, 01:06  [ТС] 3
у меня ругается на строку C[i][j]=i+j; после второго цикла For.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
13.10.2015, 01:17 4
Veronika418, Совет используйте фигурные скобки а то потеряете ветвление, чуть чуть поправил код, собралось все без проблем
C++ (Qt)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>
using namespace std;
const int n = 5;
 
int main()
 
{
 
int j, C[n][n];
int i=0;
 
int Pr; // Pr — переменная для подсчета произведения
int n=10;
//------------------- формирование матрицы С[n][n]
 
cout << "------ Матрица С[n][n]: \n";
 
for (int і = 0; і < n; ++i)
 
{
 
    for (j = 0; j < n; j++)
    {
 
    C[i][j]=i+j;
 
    cout << C[i][j] << " " ;
 
    }
 
    cout << endl;
 
    }
 
    /* вычисление произведения (Pr) элементов ниже побочной диагонали и их последующее обнуление */
    Pr = 1; //начальное значение Рr
    for (int і = 0; і < n; i++)
    for (j = n - і; j < n; j++)
    { Pr*= C[i][j];
 
    C[i][j] = 0; }
 
    //-------------- вывод па экран полученных результатов
 
    cout << "\n Произведение ниже побочной диагон. = ";
 
    cout<<Pr<<endl;
 
    cout << "\n-------- Преобразованная матрица \n";
 
    for (int і = 0; і < n; i++)
 
    {
        for (j = 0; j < n; j++) cout << C[i][j] << " "; cout << endl;
    }
    //---------------------- вывод элементов ниже главной диагонали
 
    cout << "\n Элементы ниже главной диагонали ";
    for (int і = 0; і < n; i++)
    {
        for (j=0; j<n; j++)
        {
            if (j < i) cout << C[i][j] << " ";
            else cout << " " ;
            cout << endl;
        }
 
    //--------------------- вывод элементов выше побочной диагонали
 
    cout << "\n Элементы выше побочной диагонали \n";
    for (int і = 0; і < n; i++)
    {
        for (j = 0; j < n; j++)
 
        if (j < n-1-i) cout << C[i][j] << " ";
        else cout << " "; cout << endl;
    }
    }
 
//сіn>>і;
return 0;
}
Вот вывод
Кликните здесь для просмотра всего текста
------ Матрица С[n][n]:
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
12 13 14 15 16 17 18 19 20 21
13 14 15 16 17 18 19 20 21 22
14 15 16 17 18 19 20 21 22 23
15 16 17 18 19 20 21 22 23 24
16 17 18 19 20 21 22 23 24 25
17 18 19 20 21 22 23 24 25 26
18 19 20 21 22 23 24 25 26 27
19 20 21 22 23 24 25 26 27 28
20 21 22 23 24 25 26 27 28 29
21 22 23 24 25 26 27 28 29 30
22 23 24 25 26 27 28 29 30 31
23 24 25 26 27 28 29 30 31 32
24 25 26 27 28 29 30 31 32 33
25 26 27 28 29 30 31 32 33 34
26 27 28 29 30 31 32 33 34 35
27 28 29 30 31 32 33 34 35 36
28 29 30 31 32 33 34 35 36 37
29 30 31 32 33 34 35 36 37 38
30 31 32 33 34 35 36 37 38 39
31 32 33 34 35 36 37 38 39 40
32 33 34 35 36 37 38 39 40 41
33 34 35 36 37 38 39 40 41 42
34 35 36 37 38 39 40 41 42 43
35 36 37 38 39 40 41 42 43 44
36 37 38 39 40 41 42 43 44 45
37 38 39 40 41 42 43 44 45 46
38 39 40 41 42 43 44 45 46 47
39 40 41 42 43 44 45 46 47 48
40 41 42 43 44 45 46 47 48 49
41 42 43 44 45 46 47 48 49 50
42 43 44 45 46 47 48 49 50 51
43 44 45 46 47 48 49 50 51 52
44 45 46 47 48 49 50 51 52 53
45 46 47 48 49 50 51 52 53 54
46 47 48 49 50 51 52 53 54 55
47 48 49 50 51 52 53 54 55 56
48 49 50 51 52 53 54 55 56 57
49 50 51 52 53 54 55 56 57 58
50 51 52 53 54 55 56 57 58 59
51 52 53 54 55 56 57 58 59 60
52 53 54 55 56 57 58 59 60 61
53 54 55 56 57 58 59 60 61 62
54 55 56 57 58 59 60 61 62 63
55 56 57 58 59 60 61 62 63 64


Добавлено через 4 минуты
castaway, Эт ты к чем, не понял цитаты А все туплю)))) пора идти спать)
0
-1 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 20
13.10.2015, 01:19  [ТС] 5
Почему не выводит Произведение ниже побочной диагонали и тд.
0
castaway
13.10.2015, 01:20
  #6

Не по теме:

Цитата Сообщение от Mesteriis Посмотреть сообщение
castaway, Эт ты к чем, не понял цитаты
Эта цитата предназначалась для ТС. Не обращай внимания.

0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
13.10.2015, 01:21 7
Veronika418, О а это я прошелкал, ну тогда пошел наведу кофейку, и подумаю, эт на часик
0
-1 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 20
13.10.2015, 01:26  [ТС] 8
Наверное вообще код не правильный, если сделаете, то очень меня спасете. Спасибо заранее. У меня еще пару дней есть до сдачи.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
13.10.2015, 01:44 9
Veronika418, Давай до завтра, а то если честно сейчас у меня ну совсем голова не варит, скажу одно здесь проблема в зонах видимости, просто надо вдумчиво со свежей головой сесть и посмотреть.

Вопрос концептуально код можно поменять? Или вот это все должно быть в таком виде и с такими функциями?
0
tezaurismosis
13.10.2015, 07:38
  #10
 Комментарий модератора 
Veronika418, официальными языками форума являются русский и английский.
Для форматирования кода нужно использовать теги, для C++ это [CPP][/CPP]
Предупреждение.
0
-1 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 20
13.10.2015, 16:03  [ТС] 11
код можете, если хотите менять.
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
13.10.2015, 16:36 12
Лучший ответ Сообщение было отмечено Veronika418 как решение

Решение

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 <iostream>
#include <ctime>
 
using namespace std;
 
int main ()
{
    int SIZE;
    cin >> SIZE;
 
    /* Выделение памяти. */
    int** matrix = new int* [SIZE];
    for (int i = 0; i < SIZE; i++) matrix[i] = new int [SIZE];
 
    /* Заполнение случайными числами. */
    srand(time(0));
    for (int i = 0; i < SIZE; i++)
    {
        for (int j = 0; j < SIZE; j++)
        {
            matrix[i][j] = rand()%9 + 1;
        }
    }
 
    int p = 1;
 
    /* Вычисление произведения. */
    for (int i = 0; i < SIZE; i++)
    {
        for (int j = 0; j < SIZE; j++)
        {
            if (i > SIZE - 1 - j && i < j) p *= matrix[i][j];
        }
    }
 
    /* Вывод матрицы. */
    for (int i = 0; i < SIZE; i++)
    {
        cout << endl;
        for (int j = 0; j < SIZE; j++)
        {
            cout << matrix[i][j] << " ";
        }
    }
 
    /* Вывод произведения. */
    cout << "\n\nПроизведение: " << p << endl;
    system("pause");
}
Добавлено через 7 минут
Можно размер константой прописать и память не выделять.
1
13.10.2015, 16:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2015, 16:36
Помогаю со студенческими работами здесь

Вычислить произведение элементов, расположенных выше главной и побочной диагоналей или ниже главной и побочной диагонале
Вычислить произведение элементов, расположенных выше главной и побочной диагоналей или ниже главной...

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
В строчке int **matrix = malloc(sizeof(int*) * rows); выделяет функцию malloc, а в строчке matrix...

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
Дана целочисленная квадратная матрица размера n  m (n, m вводятся). Значения элементов матрицы...

Заменить нулями элементы, лежащие одновременно выше/ниже главной диагонали и выше/ниже побочной
Задача на модуль. Дана квадратная матрица порядка M. Заменить нулями элементы, лежащие...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru