2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 35
1

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

16.04.2016, 22:54. Показов 2085. Ответов 4
Метки нет (Все метки)

Привет,помоги мне пожалуйста добрый человечище, заранее спасиб.
Вот код, функция Summa нужно доработать,
Вот то что нужно вычислить Название: файлик.png
Просмотров: 30

Размер: 926 байт


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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include<iostream>
 
#include<fstream>
#include<iomanip>
using namespace std;
void allowMatrix(int**&m,int row)//Выделение памяти
{
    m=new int*[row];
    for(int i=0;i<row;i++)
        m[i]=new int[row];
 
}
void releaseMatrix(int**&m,int row)//Осв память
{
    for(int i=0;i<row;i++)
        delete[]m[i];
    delete[]m;
}
void initMatrix(int**&m,int row,int a,int b)//Рандом матрицы
{
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<row;j++)
        {
            m[i][j]=rand()%(b-a+1)+a;
        }
    }
}
void input(int**&m,int row)//ввод с клавы
{
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<row;j++)
        {
            cout<<i+1<<"."<<j+1<<"."<<" "<<"элемент матрицы- >";
            cin>>m[i][j];
        }
    }
}
void showMatrix(int**m,int row)//Вывод матрицы
{
    cout<<endl<<"Матрица ->"<<endl;
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<row;j++)
        {
            cout<<setw(5)<<m[i][j]<<" ";
        }
        cout<<endl;
    }cout<<"";
 
}
 
void Summa(int**m,int row)//Сумма черн. элементов
{
??????
}
int main()
{
    setlocale(0,"");
    int **matrix=NULL;
    char Name1[]="1.txt";
    int nRow(0);
    //ofstream Nam("1.txt");
    cout<<"Введите размер матрицы ->";
    cin>>nRow;
    allowMatrix(matrix,nRow);
 
    int N;
    cout<<"Как вводить: \n 1-рандом 2-вручную 3-из ф-ла ->";
    cin>>N;
    switch(N)
    {
    
    case 1:
        {
            int a,b;
            cout<<"Введите диапазон:"<<endl;
            cout<<"введите a=";cin>>a;
            cout<<"введите b=";cin>>b;
            if(a>b)
            {
                int t=a;a=b;b=t;
            }
            initMatrix(matrix,nRow,a,b);
        }break;
    case 2:
        {
            input(matrix,nRow);
        }break;
    
    }
    showMatrix(matrix,nRow);
    cout<<endl;
    cout<<"Новая матрица->"<<endl;
    showMatrix(matrix,nRow);
    cout<<endl;
    cout<<"Задание 2.Сумма элементов выделенных черных цветом - >"<<endl;
    Summa(matrix,nRow);
    releaseMatrix(matrix,nRow);
    system("pause");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2016, 22:54
Ответы с готовыми решениями:

Вычислить сумму и число элементов матрицы, находящихся над главной диагональю (окрасить цветом)
Задали курсач одно из заданий: Обработать матрицу, элементами которой являются случайные значения...

Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю. Ввод,вывод,сумму в виде отдельных процедур
Завтра дедлайн, а у меня 2 лабы и начало первого. Прошу помощи.

Вычислить сумму элементов главной диагонали на сумму элементов в 3-й строки матрицы
Создайте матрицу (5х5). Вычислить сумму элементов главной диагонали на сумму элементов в 3-й строки.

Вычислить сумму диагональных элементов матрицы, количество элементов матрицы меньших 3
Вычислить сумму диагональных элементов матрицы, количество элементов матрицы меньших 3.

4
Диссидент
Эксперт C
26824 / 16733 / 3666
Регистрация: 24.12.2010
Сообщений: 37,452
16.04.2016, 23:00 2
Лучший ответ Сообщение было отмечено Azaz888 как решение

Решение

Цитата Сообщение от Azaz888 Посмотреть сообщение
void Summa(int**m,int row)//Сумма черн. элементов
{
??????
}
Ну, во-первых,
C++
1
int Summa(int**m,int row)
Она же должна возвратить результат

Добавлено через 3 минуты
Во-вторых, берем элементы с условием i<=j && i+j < row
1
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 35
16.04.2016, 23:15  [ТС] 3
Байт, а почему именно с таким условием i<=j && i+j < row , можете объяснить?)
0
68 / 68 / 37
Регистрация: 26.10.2013
Сообщений: 198
16.04.2016, 23:46 4
Azaz888,
C++
1
2
3
4
5
6
7
8
9
10
int Summa(int** m, int row) {
    int sum = 0;
    int row_count = row / 2 + row % 2;
    for(int i = 0; i < row_count; i++) {
        for(int j = i; j < row - i; j++) {
            sum += m[i][j];
        }
    }
    return sum;
}
2
Диссидент
Эксперт C
26824 / 16733 / 3666
Регистрация: 24.12.2010
Сообщений: 37,452
17.04.2016, 00:56 5
Цитата Сообщение от Azaz888 Посмотреть сообщение
а почему именно с таким условием i<=j && i+j < row , можете объяснить?)
Возьмите небольшую матрицу и расставьте в ней индексы. Руками. На бумажке.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2016, 00:56
Помогаю со студенческими работами здесь

Проблемы с черным цветом
Подскажите пожалуйста в чем может быть проблема, на новом мониторе samsung черный цвет отображается...

Заполнить фигуру черным цветом
написали программу, нужно заполнить ее черным цветом как на рисунке, но не смыкаются линии....

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

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


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

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

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