Чтобы приступить к решению задач, предложенных в этой статье, вам необходимо знать что такое двумерные (многомерные) массивы . Задачи расположены от простой к сложной. Так что, если вы новичок в программировании, начинайте с первой, чтобы лучше разобраться с остальными.
1. Объявить двумерный массив, заполнить целыми числами и показать на экран.
2) Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке.
3) Заполнить двумерный массив случайными числами от 10 до 100. Посчитать сумму элементов отдельно в каждой строке и определить номер строки, в которой эта сумма максимальна.
Ваши вопросы, которые возникли при решении задач, оставляйте в комментариях к этой статье.
Здравствуйте. а как вот в вашем 3 примере вводить размер строки и столбца самим?
Я 2 иначе придумал:
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “Russian”);
const int STROKA = 3;
const int STOLBEC = 4;
int massiv[STROKA][STOLBEC];
int sum_stroki=0, sum_stolbca;
cout << "Вводите элементы массива: " << endl;
//Ввод массива
for (int i = 0; i < STROKA; i++)
{
cout << i+1<<"-я строка: " << endl;
for (int j = 0; j > massiv[i][j];
}
}
//Вывод массива
for (int i = 0; i < STROKA; i++)
{
for (int j = 0; j < STOLBEC; j++)
{
cout << massiv[i][j]<<" ";
}
cout << endl;
}
//Вывод сумм строк
for (int i = 0; i < STROKA; i++)
{
for (int j = 0; j < STOLBEC; j++)
{
sum_stroki += massiv[i][j];
}
cout << "Сумма " << i + 1 << "-ой строки: " << sum_stroki << endl;
}
cout << endl;
//Вывод сумм столбцов
for (int j = 0; j < STOLBEC; j++)
{
sum_stolbca = 0;
for (int i = 0; i < STROKA; i++)
{
sum_stolbca += massiv[i][j];
}
cout << "Сумма " << j + 1 << "-го столбца: " << sum_stolbca << endl;
}
}
Вот мой вариант 3 задания:
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “Russian”);
srand(time(NULL));
const int STROKA = 6;
const int STOLBEC = 6;
int massiv[STROKA][STOLBEC];
int massiv_sum_strok[STROKA];
int sum_stroki,max_sum, max_number=0;
for (int i = 0; i < STROKA; i++)
{
for (int j = 0; j < STOLBEC; j++)
{
massiv[i][j] = rand() % 90 + 10;
}
}
for (int i = 0; i < STROKA; i++)
{
for (int j = 0; j < STOLBEC; j++)
{
cout << massiv[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < STROKA; i++)
{
sum_stroki = 0;
for (int j = 0; j < STOLBEC; j++)
{
sum_stroki+= massiv[i][j];
}
massiv_sum_strok[i] = sum_stroki;
cout << "Сумма элементов " << i + 1 << "-ой строки: " << sum_stroki << endl;
}
max_sum = massiv_sum_strok[0];
for (int i = 0; i max_sum)
{
max_sum = massiv_sum_strok[i];
max_number = i;
}
}
cout << "Максимальная сумма элементов строки: " << max_sum << endl;
cout << "Номер строки с максимальной суммой элементов: " << max_number+1;
}
извиняюсь что без коментов:)
Мой ответ на 3-тье задание .
#include
#include
using namespace std;
int main() {
setlocale(LC_ALL,”RUS”);
const int ROW = 3;
const int COL = 4;
int ARR[ROW][COL];
srand(time(NULL));
for (int i = 0; i < ROW; i++) {
for (int g = 0; g < COL; g++) {
ARR[i][g] = rand() % 91 + 10;
}
}
int ARR1[ROW]{};
for (int i = 0; i < ROW; i++) {
int T = 0;
for (int g = 0; g < COL; g++) {
T += ARR[i][g];
ARR1[i] = T;
}
}
int o;
o = ARR1[0];
int p;
p = 0;
for (int i = 1; i < ROW; i++) {
if (o < ARR1[i]) {
o = ARR1[i];
p = i;
}
}
cout << "В строчке " << p << " сумма всех ее элементов наибольшая ";
}
——– 2 ——–
#include
#include
using namespace std;
int main() {
const int _lenq = 3;
const int _boy = 3;
int _entereNum;
int tver[_lenq][_boy] = {};
int _sum = 0;
cout << "Fill the matrix 3×3 numbers line by line\n";
for (int i = 0; i != _boy; i++) {
for (int j = 0; j != _lenq; j++) {
cout << i+1 << " column " << j+1 <> _entereNum;
tver[i][j] = _entereNum;
}
cout << endl;
}
for (int i = 0; i != _boy; i++) {
cout << "|";
for (int j = 0; j != _lenq; j++) {
cout << setw(4) << tver[i][j] << setw(4);
}
cout << " |" << endl;
}
cout << "The sum or each rows:" << endl;
for (int i = 0; i != _boy; i++) {
for (int j = 0; j != _lenq; j++) {
_sum += tver[i][j];
}
cout << "Row " << i << ": " << _sum << endl;
_sum = 0;
}
cout << "The sum or each columns:" << endl;
for (int j = 0; j != _lenq; j++) {
for (int i = 0; i != _boy; i++) {
_sum += tver[i][j];
}
cout << "Column " << j << ": " << _sum << endl;
_sum = 0;
}
return 0;
}
Мой калькулятор:
for(int line = 0; line < LINES; line++)
{
for(int column = 0; column < COLUMNS; t++)
{
arrayAmmountLines[line] += arrayMain[line][column];
arrayAmmountColumns[column] += arrayMain[line][colum];
}
}
Задача №3
#include
#include
using namespace std;
int main()
{
srand(time(NULL));
int arr[2][2] = {{10 + rand() % 90 , 10 + rand() % 90 },{10 + rand() % 90 , 10 + rand() % 90 }};
for(int i = 0; i < 2; i++){
for(int j = 0; j < 2; j++){
cout << " " << arr[i][j];
}
cout << endl;
}
return 0;
}
3ее задание:
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “ru”);
srand(time (NULL));
const int ROW = 4;
const int COL = 3;
int sumROW[ROW] = {};// Для записи сумм в строках
int maxSum = 0; // Для записи максимальной суммы
int maxROW = 0;// для записи строки с макс суммой
int arr[ROW][COL];
for (int i = 0; i < ROW; i++)
{
for (int j = 0; j maxSum)
{
maxSum = sumROW[i]; // нахождение макс суммы
maxROW = i+1; // нахождение строки с макс суммой
}
}
cout << "Сумма элементов "<<i + 1 << "-й строки: " << sumROW[i] << endl;
}
cout << endl;
cout << "Максимальная сумма элементов " << maxSum << " в строке "<< maxROW << endl;
}