C/C++
Задача на С++
Дана целочисленная матрица {Aij}i=1..n,j=1..m (n,m<=100). Найти столбец содержащий наименьший элемент матрицы и заменить все отрицательные элементы этого столбца числом 0.
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(nullptr));
rand();
int n,m;
do
{
cout << "Введите n: ";
cin >> n;
}while(n < 1 || n > 100);
do
{
cout << "Введите m: ";
cin >> m;
}while(m < 1 || m > 100);
int ** A;
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() % 31 - 15;
cout << A[x][y] << '\t';
}
cout << endl;
}
int st = 0;
int min = A[0][0], tmp;
for(int y = 0; y < m; y++)
{
tmp = A[0][y];
for(int x = 1; x < n; x++)
{
if(A[x][y] < tmp) tmp = A[x][y];
}
if(tmp < min)
{
min = tmp;
st = y;
}
}
cout << endl << "Столбец " << st + 1 << " содержит минимальный элемент." << endl << endl;
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
if(A[x][y] < 0) A[x][y] = 0;
cout << A[x][y] << '\t';
}
cout << 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;
}
#include <ctime>
using namespace std;
int main()
{
srand(time(nullptr));
rand();
int n,m;
do
{
cout << "Введите n: ";
cin >> n;
}while(n < 1 || n > 100);
do
{
cout << "Введите m: ";
cin >> m;
}while(m < 1 || m > 100);
int ** A;
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() % 31 - 15;
cout << A[x][y] << '\t';
}
cout << endl;
}
int st = 0;
int min = A[0][0], tmp;
for(int y = 0; y < m; y++)
{
tmp = A[0][y];
for(int x = 1; x < n; x++)
{
if(A[x][y] < tmp) tmp = A[x][y];
}
if(tmp < min)
{
min = tmp;
st = y;
}
}
cout << endl << "Столбец " << st + 1 << " содержит минимальный элемент." << endl << endl;
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
if(A[x][y] < 0) A[x][y] = 0;
cout << A[x][y] << '\t';
}
cout << 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;
}
С матрицей псевдослучайных чисел из диапазона [-99;99], с двумерным динамическим массивом и в случае первого минимального элемента если их больше одного. А если матрица слишком большая чтобы уместиться в экран, функцию вывода матрицы лучше убрать -программа всё равно всё сделает правильно.
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
void print_matrix(int **a, int k, int l)
{
int i, j;
for (i = 0; i < k; i++)
{
for (j = 0; j < l; j++) cout << setw(4) << a[i][j];
cout << endl;
}
}
int main()
{
int i, j, m, n, min = 100, column;
cout << "n m: ";
cin >> n >> m;
int **A = new int *[n];
for (i = 0; i < n; i++) A[i] = new int [m];
srand(time(nullptr));
for (i = 0; i < n; i++) for (j = 0; j < m; j++)
{
A[i][j] = rand() % 199 - 99;
if (A[i][j] < min)
{
min = A[i][j];
column = j;
}
}
cout << "\nMatix A:" << endl;
print_matrix(A, n, m);
cout << "\nmin = " << min << " in column "<< column + 1 <<
"\n\nMatrix A after tranformation:" << endl;
for (i = 0; i < n; i++) if (A[i][column] < 0) A[i][column] = 0;
print_matrix(A, n, m);
}

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
void print_matrix(int **a, int k, int l)
{
int i, j;
for (i = 0; i < k; i++)
{
for (j = 0; j < l; j++) cout << setw(4) << a[i][j];
cout << endl;
}
}
int main()
{
int i, j, m, n, min = 100, column;
cout << "n m: ";
cin >> n >> m;
int **A = new int *[n];
for (i = 0; i < n; i++) A[i] = new int [m];
srand(time(nullptr));
for (i = 0; i < n; i++) for (j = 0; j < m; j++)
{
A[i][j] = rand() % 199 - 99;
if (A[i][j] < min)
{
min = A[i][j];
column = j;
}
}
cout << "\nMatix A:" << endl;
print_matrix(A, n, m);
cout << "\nmin = " << min << " in column "<< column + 1 <<
"\n\nMatrix A after tranformation:" << endl;
for (i = 0; i < n; i++) if (A[i][column] < 0) A[i][column] = 0;
print_matrix(A, n, m);
}

Похожие вопросы
- Решите задачу на любом языке. Желательно на с++.
- Задачу написать на с++ , она не сложная но почему то не получается напишите задачу с помощью цикла
- Решите задачу на с++, или хотя бы скажите идею как это вообще решать пожалуйста.
- Решите задачу на любом языке, или хотя бы скажите идею как это вообще решать пожалуйста.
- СРОЧНО! Помогите с задачей.
- Помогите с кодом задачи c++. задача на фото
- Задача по программированию. Решить на Python или C++
- Помогите решить задачу по программированию на C++
- Можете подсказать по задаче или дать алгоритм задачи, код опять же не нужен
- Решите, пожалуйста, задачу на c++