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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gremmy
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 10
#1

сумма элементов матрицы - C++

18.12.2009, 23:13. Просмотров 534. Ответов 4
Метки нет (Все метки)

Надо подсчитать сумму элементов каждого столбца матрицы, у меня программа выводит только сумму первого столбца. Помогите вывести сумму всех столбцов вот мой код:
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
#include <iostream.h>
#include <conio.h>
class matr
{
  public:
    int n,m;
    int s,d[10];
    int a[10][10];
    int sum();
    matr()
     {
      s=0;
      cout<<"";
     }
    ~matr()
     {
      cout<<"";
     }
} matr1;
  int matr::sum()
  {
    for (int j=0; j<m; j++)
  {   s=0;
    for (int i=0; i<n; i++)
              s=s+a[i][j];
              d[j]=s;
    return d[j];   }
}
int main ()
{
  cout<<"Vvedite razmernost matr1\n";
  cin>>matr1.n>>matr1.m;
  cout<<"vvedite matr1\n";
  for (int i=0; i<matr1.n; i++)
  for (int j=0; j<matr1.m; j++)
    cin>>matr1.a[i][j];
 
  cout<<"Summa stolbcov matr1 - "<<matr1.sum()<<"\n";
 
 getch();
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2009, 23:13     сумма элементов матрицы
Посмотрите здесь:

сумма элементов матрицы - C++
Здравствуйте. Такая задача: В массиве А (m = n) сумму элементов над главной диагональю поделить на сумму элементов под главной диагональю....

Сумма элементов матрицы. - C++
Здравствуйте товарищи) помогите пожалуйста решить следующую задачку: Дана матрица 4х4, нужно найти сумму элементов побочной диагонали...

сумма элементов матрицы - C++
С клавиатуры вводится размерность целочисленной матрицы,затем сама матрица.Найти сумму всех элементов.Разрешается при этом использовать...

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

сумма всех элементов матрицы - C++
С клавиатуры вводится размерность целочисленной матрицы,затем сама матрица.Найти сумму всех элементов.Разрешается при этом использовать...

сумма элементов матрицы по схеме - C++
Помогите пожалуйста. в программировании совсем новичок..Нужно написать программу, которая считает сумму элементов квадратной матрицы...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.12.2009, 23:32     сумма элементов матрицы #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
#include <iostream.h>
#include <conio.h>
class matr{
  public:
         int n,m;
         int d[10]; //s- здесь быть не должно, это же промежуточное значение.
         int a[10][10];
         int sum();
         matr(){cout<<"";}
         ~matr(){cout<<"";}
         
} matr1;
 
int matr::sum()
{
    int s=0;
    for (int j=0; j<m; j++)
    {          
        for (int i=0; i<n; i++)
        {
              s=s+a[i][j];
              //d[j]=s; не надо портить исходные данные, если этого можно избежать.
        }  
    }
    return s; //ошибка была в расположении этого return.
}
 
int main ()
{
    cout<<"Vvedite razmernost matr1\n";
    cin >> matr1.n >> matr1.m;
    cout<<"vvedite matr1\n";
    for (int i=0; i<matr1.n; i++)
    {
        for (int j=0; j<matr1.m; j++)
        {
            cout << "a["<<i<<"]["<<j<<"]=";
            cin >> matr1.a[i][j];
        }
        cout << endl;
    }
    cout<<"Summa stolbcov matr1 - "<<matr1.sum()<<"\n";
    getch();
    return 0;
}
gremmy
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 10
19.12.2009, 00:35  [ТС]     сумма элементов матрицы #3
А можешь подсказать как вывести сумму элементов каждого столбца по отдельности
например
2 3
4 5
сумма 6 и 8
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
19.12.2009, 00:38     сумма элементов матрицы #4
Там после каждой внутренней итерации цикла просто пишешь cout и выводишь сумму,потом сразу же ее обнуляешь...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 11:48     сумма элементов матрицы
Еще ссылки по теме:

Сумма элементов главной диагонали матрицы - C++
В двумерном массиве найти сумму элементов главной диагонали?

Сумма элементов главной диагонали матрицы - C++
Такая проблема... Можете помочь с кодом. Как сделать что-бы считало элементы главной диагонали квадратной матрицы? #include&lt;iostream&gt;...

Сумма элементов главной диагонали квадратной матрицы - C++
Всем привет, подскажите пожалуйста как написать программу, подсчитывающую сумму элементов главной диагонали квадратной матрицы. Пожалуйста...

Сумма элементов матрицы на и под побочной диагональю - C++
дана матрица, необходимо найти сумму элементов на и под побочной диагональю. Подскажите, где допущена ошибка #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.12.2009, 11:48     сумма элементов матрицы #5
не неадо в функции подсчета еще и вывод на экран делать, это не красиво.
нужен еще один метод
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.h>
#include <conio.h>
class matr{
  public:
         int n,m;
         int d[10]; //s- çäåñü áûòü Г*ГҐ äîëæГ*Г®, ГЅГІГ® æå ïðîìåæóòî÷Г*îå Г§Г*Г*Г·ГҐГ*ГЁГҐ.
         int a[10][10];
         matr(){cout<<"";}
         ~matr(){cout<<"";}
         int stolbsum(int);//ïîëó÷èü ñóììó ñòîëáöГ* Г± ГіГЄГ*Г§Г*Г*Г*ûì Г*îìåðîì.
         void print();
         
} matr1;
 
int matr::stolbsum(int j)
{
    int s=0;
    for (int i=0; i<n; i++)
    {
        s+=+a[i][j];
              //d[j]=s; Г*ГҐ Г*Г*äî ïîðòèòü èñõîäГ*ûå Г¤Г*Г*Г*ûå, åñëè ýòîãî ìîæГ*Г® èçáåæГ*ГІГј.
    }  
    return s; //îøèáêГ* áûëГ* Гў Г°Г*ñïîëîæåГ*ГЁГЁ ýòîãî return.
}
 
void matr::print()
{
     for (int i=0;i<m;i++) cout << stolbsum(i) << " ";
     cout << endl;
}
 
int main ()
{
    cout<<"Vvedite razmernost matr1\n";
    cin >> matr1.n >> matr1.m; //âîò ГЅГІГ® ïëîõî Г·ГҐГ±ГІГ*Г® ãîâîðÿ, ïîëÿ Г¤Г*Г*Г*ûõ ëîëæГ*Г» áûòü Г§Г*Г№ГЁГ№ГҐГ*Г».
    cout<<"vvedite matr1\n";
    for (int i=0; i<matr1.n; i++)
    {
        for (int j=0; j<matr1.m; j++)
        {
            cout << "a["<<i<<"]["<<j<<"]=";
            cin >> matr1.a[i][j];
        }
        cout << endl;
    }
    matr1.print();
    getch();
    return 0;
}
доступ к полям данных класса лучше всего сделать через отделтьнеые функции. такие функции называются ассесоры, от слова "доступ".
Yandex
Объявления
19.12.2009, 11:48     сумма элементов матрицы
Ответ Создать тему
Опции темы

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