Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

18.12.2009, 23:13. Просмотров 556. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2009, 23:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сумма элементов матрицы (C++):

Максимальная сумма элементов строки / минимальная сумма элементов столбца матрицы - C++
дан двумерный массив. Найти: а)максимальную сумму элементов строки б) минимальную сумму элементов столбца нужна помощь не знаю что...

Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) - C++
Удалить из матрицы А (7х5) все строки, сумма элементов которых четна, а из матрицы В (6х8) – строки, сумма элементов которых нечетна.

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

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

Для матрицы найти такие k и n, что сумма элементов k-столбца совпадает с суммой элементов n-й строки - C++
Для заданной матрицы размера NхN найти такие k и n, что сумма элементов k-столбца матрицы совпадает с суммой элементов n-й строки. ...

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

4
Aye Aye
369 / 283 / 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;
}
0
gremmy
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 10
19.12.2009, 00:35  [ТС] #3
А можешь подсказать как вывести сумму элементов каждого столбца по отдельности
например
2 3
4 5
сумма 6 и 8
0
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
19.12.2009, 00:38 #4
Там после каждой внутренней итерации цикла просто пишешь cout и выводишь сумму,потом сразу же ее обнуляешь...
0
Aye Aye
369 / 283 / 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;
}
доступ к полям данных класса лучше всего сделать через отделтьнеые функции. такие функции называются ассесоры, от слова "доступ".
0
19.12.2009, 11:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 11:48
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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