Задача на двумерный массив
Дан двумерный массив целых чисел, пусть будет 5x10
Заполни его числами от 0 до 100 самостоятельно при инициализации в коде программы. Найти индекс строки с максимальной суммой элементов. Найти индекс столбца с максимальной суммой элементов.
(Состовлял не я)
C/C++
Задача на c++ на массивах
#include <iostream>
using namespace std;
int main()
{
srand(time(nullptr));
rand();
int n,m;
do
{
cout << "Введите количество строк: ";
cin >> n;
} while(n < 1);
do
{
cout << "Введите количество столбцов: ";
cin >> m;
} while(m < 1);
int ** A = new int * [n];
for(int x = 0; x < n; x++) A[x] = new int [m];
// заполнение и вывод на экран
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
A[x][y] = rand() % 101;
cout << A[x][y] << '\t';
}
cout << endl;
}
cout << endl;
int i = 0, j = 0; // индексы строки и столбца
int sum, max; // для поиска суммы
// ищем индекс строки
for(int x = 0; x < n; x++)
{
sum = 0;
for(int y = 0; y < m; y++)
{
sum += A[x][y];
}
if(x == 0) max = sum;
else
{
if(sum > max)
{
max = sum;
i = x;
}
}
}
cout << "Индекс строки с максимальной суммой -- " << i << '.' << endl;
// ищем индекс столбца
for(int y = 0; y < m; y++)
{
sum = 0;
for(int x = 0; x < n; x++)
{
sum += A[x][y];
}
if(y == 0) max = sum;
else
{
if(sum > max)
{
max = sum;
j = y;
}
}
}
cout << "Индекс столбца с максимальной суммой -- " << j << '.' << endl;
if(A == (int**) nullptr) return 1;
for(int x = 0; x < n; x++)
{
if(A[x] == (int *) nullptr) return 1;
delete [] A[x];
A[x] = (int*) nullptr;
}
delete [] A;
A = (int**) nullptr;
return 0;
}
using namespace std;
int main()
{
srand(time(nullptr));
rand();
int n,m;
do
{
cout << "Введите количество строк: ";
cin >> n;
} while(n < 1);
do
{
cout << "Введите количество столбцов: ";
cin >> m;
} while(m < 1);
int ** A = new int * [n];
for(int x = 0; x < n; x++) A[x] = new int [m];
// заполнение и вывод на экран
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
A[x][y] = rand() % 101;
cout << A[x][y] << '\t';
}
cout << endl;
}
cout << endl;
int i = 0, j = 0; // индексы строки и столбца
int sum, max; // для поиска суммы
// ищем индекс строки
for(int x = 0; x < n; x++)
{
sum = 0;
for(int y = 0; y < m; y++)
{
sum += A[x][y];
}
if(x == 0) max = sum;
else
{
if(sum > max)
{
max = sum;
i = x;
}
}
}
cout << "Индекс строки с максимальной суммой -- " << i << '.' << endl;
// ищем индекс столбца
for(int y = 0; y < m; y++)
{
sum = 0;
for(int x = 0; x < n; x++)
{
sum += A[x][y];
}
if(y == 0) max = sum;
else
{
if(sum > max)
{
max = sum;
j = y;
}
}
}
cout << "Индекс столбца с максимальной суммой -- " << j << '.' << endl;
if(A == (int**) nullptr) return 1;
for(int x = 0; x < n; x++)
{
if(A[x] == (int *) nullptr) return 1;
delete [] A[x];
A[x] = (int*) nullptr;
}
delete [] A;
A = (int**) nullptr;
return 0;
}
Похожие вопросы
- Задача на c++ помогите решить без рандомного заполнения массива
- Задача по C++, анализ данных в двумерном массиве
- Задача по C++
- C++ одномерный массив
- C++ динамический массив
- C++ Нужен код c++ с массивов.
- Задача на C++ (Остатки).
- Задача по c++ на векторы. Часть программы написана. Нужны правки.
- Составить программу на c++ УСПОЛЬЗУЯ МАССИВ!!!
- Задача по С++ ДИНАМИЧЕСКИЙ МАССИВ