При обработке матрицы сформировать массив, состоящий из
номеров строк, в которых сумма элементов в строке меньше
или равна заданной величине А. Найти минимальный элемент в
этих строках и прибавить его ко всем элементам матрицы. С++
Помогите, пожалуйста! Не знаю, как это реализовать.
C/C++
Программирование. Обработка двумерных массивов (матриц)
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int a;
cout << "Введите значение A:";
cin >> a;
const int N = 5;
const int M = 5;
int A[N + 1][M + 1];
int n = 0;
int B[N + 1];
for (int i = 1; i <= N; i++)
{
int s = 0;
for (int j = 1; j <= M; j++)
{
A[i][j] = 1 + rand() % 10;
s += A[i][j];
cout.width(3);
cout << A[i][j];
}
if (s <= a)
B[++n] = i;
cout << endl;
}cout << endl;
if (n > 0)
{
int m = A[B[1]][1];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= M; j++)
if (A[B[i]][j] < m)
m = A[B[i]][j];
//Контрольный вывод:
/*for (int i = 1; i <= n; i++)
cout << B[i] << ' ';
cout << endl << m << endl;*/
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= M; j++)
{
A[i][j] += m;
cout.width(3);
cout << A[i][j];
}
cout << endl;
}
}
else
cout << "В исходной матрице отсутствуют строки, " <<
"сумма элементов в которых меньше либо равна A." << endl;
cout << "Для продолжения нажмите клавишу Enter...";
cin.get(); cin.get();
}
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int a;
cout << "Введите значение A:";
cin >> a;
const int N = 5;
const int M = 5;
int A[N + 1][M + 1];
int n = 0;
int B[N + 1];
for (int i = 1; i <= N; i++)
{
int s = 0;
for (int j = 1; j <= M; j++)
{
A[i][j] = 1 + rand() % 10;
s += A[i][j];
cout.width(3);
cout << A[i][j];
}
if (s <= a)
B[++n] = i;
cout << endl;
}cout << endl;
if (n > 0)
{
int m = A[B[1]][1];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= M; j++)
if (A[B[i]][j] < m)
m = A[B[i]][j];
//Контрольный вывод:
/*for (int i = 1; i <= n; i++)
cout << B[i] << ' ';
cout << endl << m << endl;*/
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= M; j++)
{
A[i][j] += m;
cout.width(3);
cout << A[i][j];
}
cout << endl;
}
}
else
cout << "В исходной матрице отсутствуют строки, " <<
"сумма элементов в которых меньше либо равна A." << endl;
cout << "Для продолжения нажмите клавишу Enter...";
cin.get(); cin.get();
}
Евгений Тетерин
Большое спасибо! Все работает
Похожие вопросы
- Обработка двумерных массивов в функциях
- Программирование C++. Двумерные массивы
- Программирование С++; двумерный массив
- Задача.Программирование.С++.Динамический двумерный массив.
- C++ программирование с использованием динамических двумерных массивов
- Программирование алгоритмов обработки многомерных массивов.
- Двумерные массивы C++, ничего не понимаю((( Нужна помощь
- Программирование алгоритмов с использованием двумерных массивов c++
- Запись и чтение двумерного массива в бинарный файл
- Двумерный массив C++