#include <iostream>
using namespace std;
int main ()
{
int sum = 0;
int num = 0;
const int N = 3, M = 3;
int matrix[N][M] = { { 1, -2, 3},
{ 4, 5, 6},
{ 7, 8, 9} };
for (int x = 0; x < N; x++)
{
for (int y = 0; y < M; y++)
{
cout << matrix[x][y] << " ";
}
cout << "\n";
}
for (int x = 0; x < N; x++)
{
for (int y = 0; y < M; y++)
{
if (x + 1 < y + 1)
{
if (matrix[x][y] > 0)
{
sum += matrix[x][y];
num++;
}
}
}
}
cout << "Число положительных элементов матрицы "
"выше диагонали равно: " << num << endl;
cout << "Сумма этих чисел равна: " << sum << endl;
return 0;
}
ЗАРАНЕЕ СПАСИБО!
C/C++
C++ добавить динамический массив в код Чтоб он работал
Лучше как-нибудь так (с двумерным динамическим массивом, размер которого n×m вводится с экрана, а потом и все его элементы):
#include
#include
using namespace std;
int main()
{
int sum = 0, num = 0, n, x, y;
cout > n;
int **Matrix = new int *[n];
for (x = 0; x < n; x++)
{
Matrix[x]= new int [n];
for (y = 0; y < n; y++) cin >> Matrix[x][y];
}
cout
Максим Нестеров
Почему так много слов ?
Ну вот тебе через функцию
#include
#include
using namespace std;
void func(vector&matrix){
int sum = 0;
int num = 0;
for(int i=0;i
#include
using namespace std;
int main () {
int sum = 0;
int num = 0;
const int N = 3, M = 3;
int *matrix = new int[N]; // выделение памяти под строки
for (int i = 0; i < N; i++) {
matrix[i] = new int[M]; // выделение памяти под столбцы
for (int j = 0; j < M; j++) {
matrix[i][j] = rand() % 10; // заполнение матрицы
cout << matrix[i][j] << " "; // вывод матрицы
}
cout << endl; // переход на новую строку
}
for (int x = 0; x < N; x++) {
for (int y = 0; y < M; y++) {
if (x + 1 < y + 1) {
if (matrix[x][y] > 0) {
sum += matrix[x][y];
num++;
}
}
}
}
cout << "Число положительных элементов матрицы "
"выше диагонали равно: " << num << endl;
cout << "Сумма этих чисел равна: " << sum << endl;
for (int i = 0; i < N; i++) {
delete[] matrix[i]; // освобождение памяти столбцов
}
delete[] matrix; // освобождение памяти строк
return 0;
}
using namespace std;
int main () {
int sum = 0;
int num = 0;
const int N = 3, M = 3;
int *matrix = new int[N]; // выделение памяти под строки
for (int i = 0; i < N; i++) {
matrix[i] = new int[M]; // выделение памяти под столбцы
for (int j = 0; j < M; j++) {
matrix[i][j] = rand() % 10; // заполнение матрицы
cout << matrix[i][j] << " "; // вывод матрицы
}
cout << endl; // переход на новую строку
}
for (int x = 0; x < N; x++) {
for (int y = 0; y < M; y++) {
if (x + 1 < y + 1) {
if (matrix[x][y] > 0) {
sum += matrix[x][y];
num++;
}
}
}
}
cout << "Число положительных элементов матрицы "
"выше диагонали равно: " << num << endl;
cout << "Сумма этих чисел равна: " << sum << endl;
for (int i = 0; i < N; i++) {
delete[] matrix[i]; // освобождение памяти столбцов
}
delete[] matrix; // освобождение памяти строк
return 0;
}
Похожие вопросы
- C++ Одномерный динамический массив
- C++ добавить элемент, который введет пользователь в одномерный динамический массив
- C++ динамический массив
- Программирование на C++ с использованием динамического массива
- Устройство статических и динамических массивов в оперативной памяти (...)
- Размер динамического массива, передаваемого в функцию в C++.
- Двумерный динамический массив с неизвестны количеством столбиков или строк
- Почему динамический массив напрямую в функцию передать нельзя, а динамический массив указателей можно?
- Объясните мне разное поведение sizeof для статической константы и динамического массива. C.
- Каким образом можно удалить элементы из динамического массива C++(без использования вспомогательного массива)