Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Azaz888
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 33
1

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

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

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

Размер: 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)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2016, 22:54
Ответы с готовыми решениями:

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

Посчитать количество прямоугольников, заданных черным цветом
С++ изучаю несколько месяцев и есть проблемы с синтаксисом и пониманием=) Не совсем понятно что от...

Для матрицы размером m x n вычислить сумму элементов матрицы
Доброго всем времени! Есть задачка: Для матрицы размером m x n вычислить сумму элементов...

Для каждой матрицы из файла вычислить сумму ее диагональных элементов. Все матрицы с нечетными суммами записать в другой
В файле хранятся к матриц размерности m * n. Для каждой матрицы из файла вычислить сумму ее...

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

4
Байт
Эксперт C
21305 / 13469 / 2839
Регистрация: 24.12.2010
Сообщений: 28,568
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
Azaz888
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 33
16.04.2016, 23:15  [ТС] 3
Байт, а почему именно с таким условием i<=j && i+j < row , можете объяснить?)
0
RQdan
65 / 65 / 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
21305 / 13469 / 2839
Регистрация: 24.12.2010
Сообщений: 28,568
17.04.2016, 00:56 5
Цитата Сообщение от Azaz888 Посмотреть сообщение
а почему именно с таким условием i<=j && i+j < row , можете объяснить?)
Возьмите небольшую матрицу и расставьте в ней индексы. Руками. На бумажке.
0
17.04.2016, 00:56
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2016, 00:56

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

Вычислить сумму элементов матрицы
Вычислить сумму элементов матрицы A кратных 3. Значения массива и количество строк и столбцов в...

Вычислить сумму элементов матрицы
Люди!Помогите с прогой!!!Рисунок может не очень, но это дана квадратная матрица(массив) N,N где...


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

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

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