Из каждого элемента матрицы A(3,3) вычесть сумму ее нечетных отрицательных элементов.
Нужно сделать на языке С++. Может кто написать код?
Другие языки программирования и технологии
С++. Написание кода к задаче
#include <iostream>
#include <iomanip>
using namespace std;
int f(int* beg, int* end);
void g(int* beg, int* end, int sum);
void h(int* beg, int* end, int cols);
int main()
{
const int rows = 3;
const int cols = 3;
int matrix[rows][cols] = { { 6, -4, 3 }, { -5, 7, 2 }, { -1, -3, -8 } };
int* beg = &matrix[0][0];
int* end = &matrix[rows - 1][cols];
h(beg, end, cols);
int sum = f(beg, end);
cout << "\tSum = " << sum << "\n\n";
g(beg, end, sum);
h(beg, end, cols);
cin.get();
}
int f(int* beg, int* end)
{
int sum = 0;
while (beg != end)
{
if (*beg < 0 && *beg & 1)
{
sum += *beg;
}
++beg;
}
return sum;
}
void g(int* beg, int* end, int sum)
{
while (beg != end)
{
*beg -= sum;
++beg;
}
}
void h(int* beg, int* end, int cols)
{
int n = 1;
while (beg != end)
{
cout << setw(6) << *beg;
if (0 == n % cols) cout << '\n';
++beg;
++n;
}
cout << '\n';
}
#include <iomanip>
using namespace std;
int f(int* beg, int* end);
void g(int* beg, int* end, int sum);
void h(int* beg, int* end, int cols);
int main()
{
const int rows = 3;
const int cols = 3;
int matrix[rows][cols] = { { 6, -4, 3 }, { -5, 7, 2 }, { -1, -3, -8 } };
int* beg = &matrix[0][0];
int* end = &matrix[rows - 1][cols];
h(beg, end, cols);
int sum = f(beg, end);
cout << "\tSum = " << sum << "\n\n";
g(beg, end, sum);
h(beg, end, cols);
cin.get();
}
int f(int* beg, int* end)
{
int sum = 0;
while (beg != end)
{
if (*beg < 0 && *beg & 1)
{
sum += *beg;
}
++beg;
}
return sum;
}
void g(int* beg, int* end, int sum)
{
while (beg != end)
{
*beg -= sum;
++beg;
}
}
void h(int* beg, int* end, int cols)
{
int n = 1;
while (beg != end)
{
cout << setw(6) << *beg;
if (0 == n % cols) cout << '\n';
++beg;
++n;
}
cout << '\n';
}
const int m=3,n=3;
int a[m][n];
int sum = 0;
for(int i = 0 ; i != m ; ++i)
for(int j = 0 ; j !=n ; ++j ) (a[i][j] < 0 && a[i][j] % (-i) !=0) ? sum += a[i][j] : sum += 0;
for(int i = 0 ; i != m ; ++i)
for(int j = 0 ; j !=n ; ++j ) a[i][j] -= sum;
int a[m][n];
int sum = 0;
for(int i = 0 ; i != m ; ++i)
for(int j = 0 ; j !=n ; ++j ) (a[i][j] < 0 && a[i][j] % (-i) !=0) ? sum += a[i][j] : sum += 0;
for(int i = 0 ; i != m ; ++i)
for(int j = 0 ; j !=n ; ++j ) a[i][j] -= sum;
Попробуй посмотреть тут
Похожие вопросы
- Очень срочно нужна помощь в написании кода С++. Всё не вмещается, поэтому задание в пояснении. Помогите, пожалуйста!!
- C++. Стиль написания кода
- Не сильно ли доставит неудобства кодеру если поиск библеотек и гугление будет на одной машине, а написание кода на др-й?
- напишите код на qbasic Код к задаче: «Определить вид треугольника по трем его сторонам - QBasic»
- Как правильно думать начинающему программисту? а то без логики своих действий в написании кода, толковую программу не на
- Перед написанием кода вы составляете блок-схему будущего алгоритма?
- Программисты, сколько реального рабочего времени вы тратите чисто на написание кода? На что уходить больше всего времени?
- Челендж на самый забавный код =) (C++ задача внутри) Не стесняемя, учавствуем.
- Програмирования и решение задач, а писать код этот последние? Но как быть, если плохо с задачами?
- Запутываюсь при решении логических задач, написании программ