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

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

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

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

04.09.2013, 15:25. Просмотров 960. Ответов 18
Метки нет (Все метки)

С клавиатуры вводится размерность целочисленной матрицы,затем сама матрица.Найти сумму всех элементов.Разрешается при этом использовать только один оператор цикла(кроме цикла ввода матрицы).
Вот сделала эту задачу,правильно ли?или нельзя было еще одно For использовать?
Код:

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
#include <iostream>
using namespace std;
int main()
{
setlocale (LC_ALL, "RUS");
int i,j,N,M,S,a[20][20];
int *A;
cout<<"Введите количество строк,N="; 
cin>>N;
cout<<"Введите количество столбцов,M="; 
cin>>M;
A=new int [N*M];
cout<<"Составьте матрицу А\n";
//цикл по переменной i,в которой перебираем строки
for (i=0; i<N; i++)
//цикл по переменной j, в котором перебираем элементы внутри строки
for (j=0; j<M; j++)
cin>>a[i][j]; //ввод элемента матрицы
cout<<"матрица А:\n";
for (i=0; i<N; i++)
{
for (j=0; j<M; j++)
cout<<a[i][j]<<"\t"; //вывод элемента матрицы
cout<<endl; //переход на новую строку
}
for (S=i=0; i<N; i++)
for (j=0; j<M; j++)
S+=a[i][j];
cout<<"сумма равна,S="<<S<<endl;
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2013, 15:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос сумма элементов матрицы (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, состоящая из натуральных чисел. Если сумма индексов каких-либо двух элементов матрицы, расположенных...

18
Raali
639 / 343 / 42
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
04.09.2013, 17:18 #16
Цитата Сообщение от fkty Посмотреть сообщение
for (S=i=0; i<N*M; ++i)
{
S+=A[i];
}
накопление суммы вот тут
0
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 266
04.09.2013, 17:21  [ТС] #17
то есть здесь A[i] индекс i уже не означает номер строки?а что здесь такое считает cout<<A[i*M+j]<<"\t";?
0
Raali
639 / 343 / 42
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
04.09.2013, 17:34 #18
Цитата Сообщение от fkty Посмотреть сообщение
то есть здесь A[i] индекс i уже не означает номер строки?
ага, здесь мы прогоняем цикл для всей матрицы (до i = M*N), матрицу A[N][M] мы вытянули в строку(массив) A[N*M] для работы с 1 циклом, это строка как бы составлена из маленьких строк матрицы в одну большую, по этому пройдясь от i = 0 до i = M*N мы пробегаем по всей матрице

C++
1
а что здесь такое считает cout<<A[i*M+j]<<"\t";?
а тут у нас два цикла "i" по высоте "j" - по ширине
i*M+j - где М-ширина матрицы - формула для вычисления индекса в массиве A[M*N] как если бы он был бы матрицей A[M][N]
1
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 266
04.09.2013, 17:41  [ТС] #19
спасибо большое
0
04.09.2013, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2013, 17:41
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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