Чтобы приступить к решению задач, предложенных в этой статье, вам необхідно знати что такое двумерные (многомерные) массивы . Задачи расположены от простой к сложной. Так что, если вы новичок в программировании, начинайте с первой, чтобы лучше разобраться с остальными.
1. Объявить двумерный массив, заповнити цілими числами і показати на екран.
2) Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке.
3) Заповнити двовимірний масив випадковими числами від 10 до 100. Порахувати суму елементів окремо в кожному рядку і визначити номер рядка, в якій ця сума максимальна.
Ваші запитання, которые возникли при решении задач, залишайте в коментарях до цієї статті.
#include
using namespace std;
int main()
{
Const ІНТ ROW = 3;
Const INT COL = 3;
setlocale(LC_ALL, “RU”);
int arr[ROW][COL];
cout << "Заполните двумерный массив случайными числами" << endl;
for (int i = 0; i < ROW; i ) {
for (int j = 0; j > arr[i][j];
}
}
int sumROW = 0, sumCOL = 0;
cout << endl;
for (int i = 0; i < ROW; i ) {
for (int j = 0; j < COL; j ) {
cout << arr[i][j]<< "\t";
}
cout<<endl;
}
for (int i = 0; i < ROW; i ) {
for (int j = 0; j < COL; j ) {
sumROW = sumROW + arr[i][j];
}
cout << "Сумма элементов в строке : " << i + 1 << " " << sumROW;
sumROW = 0;
cout << endl;
}
for (int i = 0; i < ROW; i ) {
for (int j = 0; j < COL; j ) {
sumCOL = sumCOL + arr[j][i];
}
cout << "Сумма элементов в столбце : " << i + 1 << " " << sumCOL ;
sumCOL = 0;
cout << endl;
}
}
#include
#include
using namespace std;
int main()
{
srand(time(NULL));
Const ІНТ ROW = 10;
Const INT COL = 10;
int sumROW = 0;
int sumROWMax = 0;
int числоROW = 1;
setlocale(LC_ALL, “RU”);
int arr[ROW][COL];
for (int i = 0; i < ROW; i ) {
for (int j = 0; j < COL; j ) {
arr[i][j] = rand() % 100 + 10;
}
}
for (int i = 0; i < ROW; i ) {
for (int j = 0; j < COL; j ) {
cout << arr[i][j] << "\t";
}
cout << endl;
}
for (int i = 0; i < ROW; i )
{
for (int j = 0; j < COL; j )
{
sumROW = sumROW + arr[i][j];
}
cout << "Сумма элементов в строке : " << i + 1 << " " << sumROW << endl;
sumROW = 0;
}
cout << endl;
for (int i = 0; i < ROW; i )
{
for (int j = 0; j сумаROWMax)
{
sumROWMax = sumROW;
numberROW = i;
}
sumROW = 0;
}
cout << "Максимальная сумма элементов в строке "<< numberROW + 1 << ". сума рядка : " << sumROWMax << endl;
}
А можна ще 3-4 завдання по цій темі? Автору RESPECT за такий навчальний матеріал, дуже дохідливо і просто викладені теми
#include
#визначте НАЛАШТУВАННЯ
using namespace std;
int main()
{
setlocale(LC_ALL, “RU”);
int ROWS, COLS;
cout <> ЛАВ;
cout <> COLS;
int ** a = новий int*[ЛАВ];
for (int i = 0; i < ЛАВ; i )
a[i] = new int[COLS];
for (int i = 0; i < ЛАВ; i ) // введення елементів матриці
for (int j = 0; j < COLS; j )
a[i][j] = rand() % 101 + 10;
cout<< endl;
#ifdef НАЛАШТУВАННЯ
for (int i = 0; i < ЛАВ; i )
{
for (int j = 0; j < COLS; j )
cout << a[i][j] << " ";
cout << endl;
} //висновок матриці
#endif
int* sum_in_row = новий int[ЛАВ]; // ініціалізація масиву
for (int i = 0; i < ЛАВ; i )
sum_in_row[i] = 0;
for (int i = 0; i < ЛАВ; i ) // підрахунок сум елементів рядків
{
int sum = 0;
for (int j = 0; j < COLS; j )
sum_in_row[i] += а[i][j];
}
for (int i = 0; i < ЛАВ; i )
cout << "сумма строки " << i + 1 << "=" << sum_in_row[i] << endl; // висновок сум рядків
int num_max_sum = 0;
int max_sum = 0;
int h = 0;
for (int i = 0; я max_sum ? max_sum = sum_in_row[i], num_max_sum = i:h ++;
cout << "номер строки с наибольшей суммой: " << num_max_sum+1;
for (int i = 0; i < ЛАВ; i ) // очищення пам'яті
delete [] a[i];
delete [] a;
delete[] sum_in_row;
}
#include
using namespace std;
#include
#include “mainCu.h”
int main()
{
setlocale(LC_ALL, “rus”);
srand(time(NULL));
ІНТ рядок;
cin >> рядок;
INT кол;
cin >> сідло;
int** arr = новий int* [рядок];
int* row_arr_sum = новий int[рядок];
int* col_arr_sum = новий int[сідло];
int row_sum = 0, Col_sum = 0;
for (короткий i = 0; i < рядок; i )
row_arr_sum[i] = 0;
for (короткий i = 0; i < рядок; i )
col_arr_sum[i] = 0;
for (короткий i = 0; i < рядок; i ) {
arr[i] = new int[рядок];
for (короткий j = 0; j < сідло; j )
arr[i][j] = rand() % 10;
}
for (короткий i = 0; i < рядок; i ) {
for (короткий j = 0; j < сідло; j )
cout <<"|"<< arr[i][j] << "|";
cout << endl;
}cout << endl;
for (короткий i = 0; i < рядок; i ) {
for (короткий j = 0; j < сідло; j ) {
row_arr_sum[i] += arr[i][j];
col_arr_sum[i] += arr[i][j];
}
}
cout << "сумма по строкам: " << endl;
for (короткий i = 0; i < рядок; i ) {
row_sum += row_arr_sum[i];
cout << "строка(" << + 1 << "):"<< row_arr_sum[i]<<endl;
} cout << "сумма по столбцам: " << endl;
for (короткий i = 0; i < рядок; i ){
col_sum += row_arr_sum[i];
cout << "столбец(" << i + 1 << "):" << col_arr_sum[i] <<endl;}
cout << endl << co_sum << endl << сума_рядка << endl;
}
//на жаль там припустився пару помилок. тут виправлено
#include
using namespace std;
#include
#include “mainCu.h”
int main()
{
setlocale(LC_ALL, “rus”);
srand(time(NULL));
ІНТ рядок;
cin >> рядок;
INT кол;
cin >> сідло;
int** arr = новий int* [рядок];
int* row_arr_sum = новий int[рядок];
int* col_arr_sum = новий int[сідло];
for (короткий i = 0; i < рядок; i )
row_arr_sum[i] = 0;
for (короткий i = 0; i < рядок; i )
col_arr_sum[i] = 0;
for (короткий i = 0; i < рядок; i ) {
arr[i] = new int[рядок];
for (короткий j = 0; j < сідло; j )
arr[i][j] = rand() % 10;
}
for (короткий i = 0; i < рядок; i ) {
for (короткий j = 0; j < сідло; j )
cout <<"|"<< arr[i][j] << "|";
cout << endl;
}cout << endl;
for (короткий i = 0; i < рядок; i ) {
for (короткий j = 0; j < сідло; j ){
row_arr_sum[i] += arr[i][j];
col_arr_sum[i] += arr[j][i];
}
}
cout << "сумма по строкам: " << endl;
for (короткий i = 0; i < рядок; i ) {
cout << "строка(" << + 1 << "):"<< row_arr_sum[i]<<endl;
} cout << "сумма по столбцам: " << endl;
for (короткий i = 0; i < рядок; i ){
cout << "столбец(" << i + 1 << "):" << col_arr_sum[i] <<endl;}
int max_count = 0;
int min_count =0;
int max_row_sum = row_arr_sum[0], min_row_sum = row_arr_sum[0];
for (короткий i= 0; i <рядок; i )
{
if (max_row_sum row_arr_sum[i]) {
min_row_sum = row_arr_sum[i];
min_count = i;
}
}
cout << "максимальная сумма в строке №" << max_count + 1 << " = " << max_row_sum << endl
<< "Минимальная сумма в строке №" << min_count + 1 << " = " << min_row_sum << endl;
}
#include
#include
using namespace std;
int main()
{
srand(time(NULL));
константні ІНТ ЛАВ = 10;
Const INT COLS = 10;
int arr[ЛАВ][COLS]{};
for (int i = 0; i < ЛАВ; i )//Заповнення масиву arr[][]
{
for (int j = 0; j < COLS; j )
{
arr[i][j] = rand() % 90 + 10;
}
}
int arr_sum[ЛАВ]{};//Створюємо масив у якому зберігатимемо суму //елементів кожного рядка масиву arr[][]
for (int i = 0; i < ЛАВ; i )
{
for (int j = 0; j < COLS; j )
{
arr_sum[i] = arr_sum[i] + arr[i][j];//Привласнюємо в i елемент масиву // arr_sum[] суму всіх елементів у i рядку масиву arr[][] (і так далі )
}
}
int max_index = 0;//змінна в якій зберігається індекс //максимального елемента масиву max_sum[]
for (int i = 1; i < ЛАВ; i )
{
if (arr_sum[max_index] < arr_sum[i])
{
max_index = i;
}
}
/*Оскільки розмір масиву arr_sum[] дорівнює кількості рядків
* масиву arr[][] то індекс максимального елемента масиву arr_sum[]
* відповідає індексу рядка масиву arr[][] з найбільшою сумою елементів
*/
cout << "Index max row – " << max_index;
return 0;
}
Чому можна замінити
columnSum[rowNum] += ourMatrix[columnNum][rowNum];
на
columnSum[columnNum] += ourMatrix[rowNum][columnNum];
і результат буде тим самим?
таблиця множення
#include
int main()
{
INT I = 0, J = 0;
короткий mas2d[10][10] = {};
//заповнення масиву
for (i = 0; i < 10; i ) {
for (J = 0; j < 10; j ) {
mas2d[i][j] = i * j;
}
}
//виведення масиву на екран
for (i = 0; i <10; i )
{
std::cout << std::endl ;
{
for (J = 0; j <10; j )
std::cout << mas2d[i][j] << "\t";
}
}
}