1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
1

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

18.10.2014, 15:59. Показов 6614. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализуйте с помощью цикла while подсчет суммы элементов главной диагонали после вывода заполненного массива в виде таблицы. И 2 варианта заполнения массива - с клавиатуры и рандомно - по выбору пользователя.
Проблемы:
1. Заполненный рандомно массив не выводится.
2. Не считает сумму в цикле while.
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
#include <stdafx.h>
#include <time.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
void main()
{
 setlocale(LC_ALL, "Russian");
 
 int a, n, sum=0;
 int i, j, A[10][10]={0};
 
 cout << "Будете самостоятельно заполнять массив? 1(да)/0(нет)"<<endl;
 cin >> a;
 
 if (a==1) //1 вариант заполения массива - с клавиатуры
 {
  cout << "Введите размер массива: ";
  cin >> n;
  for(i=0;i<=n-1;i++)
  for(j=0;j<=n-1;j++)
  {
   cout << "A[" << i << "][" << j << "] = ";
   cin >> A[i][j];
  }
 }
 
 else if (a==0) //2 вариант - рандом, но он не работает дальше у словия
 {
  int n=2;
  for(i=0;i<=n-1;i++)
  for(j=0;j<=n-1;j++) 
  A [i][j] = rand()%10; //каждый элемент массива - случайное число от 0 до 10
 }
 
for(i=0;i<=n-1;i++)//вывод массива, работает с клавиатуры, а рандом - не выводит
{
for(j=0;j<=n-1;j++)
 {
  cout <<" "<<A[i][j]<<" ";
 }
  cout<<endl;
}
 
while(j<=n-1 && i<=n-1) //подсчет суммы элементов главной диагонали с помощью цыкла while
{
  if(i=j)
  sum+=A[i][j];
}
 
cout << endl << "Сумма элементов главной диагонали = " << sum << endl;
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2014, 15:59
Ответы с готовыми решениями:

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

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

Массив: Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали.
Ребят не понимаю я с++ Дали создать программу Помогите пожалуйста Найти среднее арифметическое...

Найти сумму всех элементов главной диагонали матрицы, и сумму всех отрицательных элементов побочной диагонали
15. Найти сумму всех элементов главной диагонали матрицы P(10*10) и сумму всех отрицательных...

2
107 / 107 / 110
Регистрация: 28.02.2011
Сообщений: 978
18.10.2014, 16:37 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
#include <time.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
 
int a, n, sum=0;
int i, j, A[10][10]={0};
 
cout << "Будете самостоятельно заполнять массив? 1(да)/0(нет)"<<endl;
cin >> a;
cout << "Введите размер массива: ";
cin >> n;
if (a==1) //1 вариант заполения массива - с клавиатуры
{
 
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
{
cout << "A[" << i << "][" << j << "] = ";
cin >> A[i][j];
}
}
 
else if (a==0) //2 вариант - рандом, но он не работает дальше у словия
{
int n=2;
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
A [i][j] = rand()%10; //каждый элемент массива - случайное число от 0 до 10
}
 
for(i=0;i<=n-1;i++)//вывод массива, работает с клавиатуры, а рандом - не выводит
{
for(j=0;j<=n-1;j++)
{
cout <<" "<<A[i][j]<<" ";
}
cout<<endl;
}
j=0;
while(j<n) //подсчет суммы элементов главной диагонали с помощью цыкла while
{
sum+=A[j][j];
j++;
}
 
cout << endl << "Сумма элементов главной диагонали = " << sum << endl;
system("pause");
}
0
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
18.10.2014, 17:46  [ТС] 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "stdafx.h"
#include <time.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
 
int a, n, m, sum=0;
int i, j, A[10][10]={0};
 
cout << "Будете самостоятельно заполнять массив? 1(да)/0(нет)"<<endl;
cin >> a;
 
cout << "Введите размер массива: ";
cin >> n;
 
//1 вариант - заполения массива с клавиатуры
if (a==1) 
{
 for(i=0;i<n;i++)
 for(j=0;j<n;j++)
 {
  cout << "A[" << i << "][" << j << "] = ";
  cin >> A[i][j];
 }
}
 
//2 вариант - рандомное заполнение масива
if (a==0)
{
 srand(time(NULL));// для генерирования случайного числа(используя текущее время)
 for(i=0;i<n;i++) 
 for(j=0;j<n;j++)
 {
  m = 0+rand()%10; // каждый элемент массива - случайное число от 0 до 10
  A[i][j] = m;
 }
} 
 
//вывод массива
for(i=0;i<n;i++)
{
 for(j=0;j<n;j++)
 {
  cout <<" "<<A[i][j]<<" ";
 }
 cout<<endl;
}
 
//подсчет суммы элементов главной диагонали с помощью цыкла while
j=0;
while(j<n) 
 {
 sum+=A[j][j];
 j++;
 }
 
cout << endl << "Сумма элементов главной диагонали = " << sum << endl;
system("pause");
}
0
18.10.2014, 17:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2014, 17:46
Помогаю со студенческими работами здесь

Найти сумму элементов главной диагонали матрицы
Нужно сделать простую работу по с++. Найти сумму элементов главной диагонали матрицы, только чтобы...

Найти сумму элементов главной диагонали матрицы
найти сумму элементов главной диагонали матрицы P. Помогите пожалуйста

Найти сумму элементов главной диагонали матрицы
Помогите решить задачи,я недавно начал заниматься программированием,не разобрался во всём.Программа...

Найти сумму элементов главной диагонали матрицы
Дана матрица действительных чисел размера n×m. Если элементы матрицы упорядочены по убыванию,...


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

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

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