Самый простой вариант без освобождения памяти:
#include<iostream>
#include<ctime>
signed main(){
setlocale(LC_ALL, "Rus");
srand(time(NULL));
int n, m;
std::cout << "Введите n: ";
std::cin >> n;
std::cout << "Введите m: ";
std::cin >> m;
/*
Выделяем память под матрицу, везде используем переменную n для удобства, матрица у нас квадратная, значит n = m
*/
int** matrix = new int* [n];
for (int i = 0; i < n; i++) {
matrix[i] = new int[n];
}
/*
Заполняем матрицу случайными числами и выводим сгенерированную матрицу на экран
*/
std::cout << "Сгенерированная матрица:\n";
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
matrix[i][j] = rand() % 10;
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
/*
Ищем минимальный элемент на главной диагонали и его индекс.
_min - минимальный элемент, _idxMin - индекс минимального элемента
*/
int _min = matrix[0][0];
int _idxMin = 0;
for (int i = 0; i < n; i++){
if (_min > matrix[i][i]) {
_min = matrix[i][i];
_idxMin = i;
}
}
/*
Удаляем столбец с наименьшим элементом.
*/
for (int i = 0; i < n; i++)
for (int j = _idxMin; j < n - 1; j++)
matrix[i][j] = matrix[i][j + 1];
/*
Выводим на экран изменённую матрицу
*/
std::cout << "\nМатрица после удаления столбца с минимальным элементом:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-1; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
#include <cmath>
using namespace std;
int main()
{
double a;
double b;
double c;
double x;
cout << "Введите значение a: ";
cin >> a;
cout << "Введите значение b: ";
cin >> b;
cout << "Введите значение c: ";
cin >> c;
if((b*b - 4*a*c) >= 0) //Если дискриминант больше или равен 0
{
x = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
cout << "Первый корень равен " << x << endl;
x = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
cout << "Второй корень равен " << x << endl;
}
else
{
cout << "Дискриминант меньше 0, нет вещественных корней." << endl;
}
return 0;
}