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

Программа вывода суммы элементов матрицы

24.03.2015, 02:14. Просмотров 808. Ответов 3
Метки нет (Все метки)

Нужно написать программу:
В начале мы вводим размерность матрицы,потом заполняем ее рандомно и выводим на экран,далее нам нужно вычислить сумму элементов главной диагонали если матрица квадратная,а если матрица прямоугольная то нужно вывести сумму элементов среднего столбца.
Вот что я пока написал:
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 <stdio.h>
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <math.h>
#include "iomanip"
using namespace std;
int main(void) {
      setlocale(LC_ALL,"Russian");
int i, j,R,C,sum;
cout<<"Vvedite kolichestvo strok"<<endl;  
cin>>R;
cout<<"Vvedite kolichestvo stolbtsov"<<endl;
cin>>C;
int Array[R][C]; 
for (i=0; i<R; i++) {  
for (j=0; j<C; j++)  {
Array[i][j]=rand()%11-5  ;
cout.width(5), cout<< Array[i][j] ; } cout<<endl; }
cout<< endl;
{
for (sum=i=0; i<R; i++)
for (j=0; j<C; j++)
if (j>i) sum+=Array[i][j];
cout<<"S="<<sum<<endl;
}
{
     for (int i=0; i<C; i++)
    {
        for (int j=0; j<C; j++)
            if (Array[i][j] < 0)
                sum(i = sum (i + Array[i][j]));
 
        cout<<"S="<<sum<<endl;
    }
    cout << endl;
}
  system("PAUSE");
return 0;
}
Всем за ранее спасибо)

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2015, 02:14
Ответы с готовыми решениями:

Процедура без глобальных переменных для вывода суммы элементов матрицы и номера строки с минимальной суммой элементов
Задание: составить процедуру без глобальных переменных выполняющуюю для для...

Программа, меняющая местами столбцы заданной матрицы в зависимости от суммы элементов столбца
Здравствуйте , помогите , пожалуйста :/ Задача состоит в том, чтобы...

Сформировать суммы элементов строк матрицы и суммы элементов столбцов матрицы
Добрый день господа программисты, я к вам с небольшим вопросом. Мне необходимо...

Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы суммы элементов соответствующих строк второй матрицы
Даны две целочисленные квадратные матрицы 4-го порядка. Получить новую матрицу...

Программа для вычисления суммы двух неотрицательных чисел. Ошибка: неправильный формат вывода.
Написал супер элементарную программу для вычисления суммы двух неотрицательных...

3
Den41LxD
18 / 18 / 27
Регистрация: 11.12.2014
Сообщений: 52
24.03.2015, 03:30 #2
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
#include <iostream>
using namespace std;
int main()
{
    setlocale( 0,"");
    int n,m;
    cout << "количество строк : ";
    cin >>n;
    cout << "количество столбцов : ";
    cin >> m;
    int ** mas;
    mas = new int*[m];
    for(int i=0;i<n;i++)
    {
        mas[i]=new int [n];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            mas[i][j]=rand()%11-5;
            cout << mas[i][j] << "\t";
        }
        cout << endl;
    }
    int sum=0;
    if(m==n)
    {
        for(int j=0;j<n;j++)
        {
            int i=j;
            sum+=mas[i][j];
        }
    }
    else
    {
        if(m%2!=0)
        {
            int j=m/2+1;
            for(int i=0;i<n;i++)
            {
                sum+=mas[i][j-1];
            }
        }
        else
        {
            int b;
            int j=m/2;
            cout << "столбец " << j << " или " << j+1 << " ?\n";
            cin >> b;
            if(b==j)
            {
                for(int i=0;i<n;i++)
                {
                    sum+=mas[i][j-1];
                }
            }
            if(b==j+1)
            {
                for(int i=0;i<n;i++)
                {
                    sum+=mas[i][j];
                }
            }
        }
    }
    cout << endl << " sum= " << sum << endl;
        
    system("pause");
}
1
i_am_orce
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 36
24.03.2015, 03:41  [ТС] #3
Вроде все работает,спасибо,а мой код безнадежен?
0
Den41LxD
18 / 18 / 27
Регистрация: 11.12.2014
Сообщений: 52
24.03.2015, 04:04 #4
Лучший ответ Сообщение было отмечено i_am_orce как решение

Решение

При создании динамического массива надо выделять под него память,так не будет работать:
C++
1
2
3
cin>>R;
cin>>C;
int Array[R][C];
будет:
C++
1
2
3
4
5
6
7
8
cin >>n;
    cin >> m;
    int ** mas;
    mas = new int*[m];
    for(int i=0;i<n;i++)
    {
        mas[i]=new int [n];
    }
C++
1
if (j>i) sum+=Array[i][j];
будет считать сумму элементов выше главной диагонали,а не главную диагональ,надо ставить ==

C++
1
2
3
4
5
for (int i=0; i<C; i++)
{
for (int j=0; j<C; j++)
if (Array[i][j] < 0)
sum(i = sum (i + Array[i][j]));
вот тут я совсем ничего не понял
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2015, 04:04

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы
Рекурсивная функция в С++. срочно! ДЛЯ вывода матрицы на экран построчно...

Упорядочить каждую строку матрицы по убыванию суммы значений цифр элементов матрицы
Задание:Упорядочить каждую строку матрицы по убыванию суммы значений цифр...

Написать перегруженные функции для вывода на экран суммы элементов одномерного и двумерного массивов
Доброе время суток! Прошу помощи в реализации следующей программы... ...


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

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

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