Другие языки программирования и технологии
Программирование с++ как решить эту задачу?
Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов, которые лежат на той же строке и столбце.
#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
void fill_rand_int(int* v, const size_t n, int l, int r) {
if (r < l) swap(l, r);
uniform_int_distribution<> uid(l, r);
random_device rd;
mt19937 gen(rd());
for (auto i = 0U; i < n; ++i) v[i] = uid(gen);
}
void show(int* v, const size_t n, const streamsize w) {
for (auto i = 0U; i < n; ++i) cout << setw(w) << v[i];
cout.put('\n');
}
int sum(int* v, const size_t n) {
auto s = 0;
for (auto i = 0U; i < n; ++i) s += v[i];
return s;
}
int main() {
const auto rank = 4U;
const auto left = 1;
const auto right = 5;
const auto width = 4U;
int matrix[rank][rank];
for (auto& row : matrix) fill_rand_int(row, rank, left, right);
for (auto& row : matrix) show(row, rank, width);
cout.put('\n');
for (auto i = 0U; i < rank; ++i) matrix[i][i] = sum(matrix[i], rank);
for (auto& row : matrix) show(row, rank, width);
cout.put('\n');
cin.get();
}
#include <random>
#include <iomanip>
using namespace std;
void fill_rand_int(int* v, const size_t n, int l, int r) {
if (r < l) swap(l, r);
uniform_int_distribution<> uid(l, r);
random_device rd;
mt19937 gen(rd());
for (auto i = 0U; i < n; ++i) v[i] = uid(gen);
}
void show(int* v, const size_t n, const streamsize w) {
for (auto i = 0U; i < n; ++i) cout << setw(w) << v[i];
cout.put('\n');
}
int sum(int* v, const size_t n) {
auto s = 0;
for (auto i = 0U; i < n; ++i) s += v[i];
return s;
}
int main() {
const auto rank = 4U;
const auto left = 1;
const auto right = 5;
const auto width = 4U;
int matrix[rank][rank];
for (auto& row : matrix) fill_rand_int(row, rank, left, right);
for (auto& row : matrix) show(row, rank, width);
cout.put('\n');
for (auto i = 0U; i < rank; ++i) matrix[i][i] = sum(matrix[i], rank);
for (auto& row : matrix) show(row, rank, width);
cout.put('\n');
cin.get();
}
вопрос:
1 - сумму всех элементов тойже строки/столбца или до элемента диагонали
2 - в сумму входит элемент диагонали
int sum = 0;
//Random rnd = new Random(); //упс шарпы
std::srand(std::time(NULL));
for (int i = N, k; i >= 0; i--)
{
sum = 0;
for(int j =0; j < N; j++)
{
k = N - j - 1;
if (Mx[j][i] == 0) Mx[j][i] = rand() + 1;
if (Mx[k][i] == 0) Mx[k][i] = rand() + 1;
//считаем сумму
}
//пишем её в элемент диагонали
//мат часть учите сами
}
1 - сумму всех элементов тойже строки/столбца или до элемента диагонали
2 - в сумму входит элемент диагонали
int sum = 0;
//Random rnd = new Random(); //упс шарпы
std::srand(std::time(NULL));
for (int i = N, k; i >= 0; i--)
{
sum = 0;
for(int j =0; j < N; j++)
{
k = N - j - 1;
if (Mx[j][i] == 0) Mx[j][i] = rand() + 1;
if (Mx[k][i] == 0) Mx[k][i] = rand() + 1;
//считаем сумму
}
//пишем её в элемент диагонали
//мат часть учите сами
}
for(i=0;i<SIZE;i++)
{
sum = 0;
for(j=0;j<SIZE;j++)
{
sum += arr[i][j];
}//end of j
arr[i][size-i-1] = sum;
}//end of i
{
sum = 0;
for(j=0;j<SIZE;j++)
{
sum += arr[i][j];
}//end of j
arr[i][size-i-1] = sum;
}//end of i
Расим Джебраилов
а как написать по побочной диагонали сумму и для строки, и для столбца?
Похожие вопросы
- Решить графически задачу нелинейного программирования
- Помоги те решить эту задачу C++
- Не могу решить простую задачу на С++
- Необходимо решить представленные задачи на языке Pascal:
- Как решить 10 задачу в С++? (Если можно, скиньте решение)
- Помогите пожалуйста, решить данную задачу методом пузырька!!!
- Программирование!!! Совсем не идет эта задача, нужно написать на паскале!!
- Объясните пожалуйста супер чайнику как решить эту задачу
- решите плиз задачу на Турбо Паскале дам 10 баллов
- Подскажите пожалуйста как решить эти задачи!!