Нужно написать код с двумерным массивом
Подсчитать количество элементов, не попадающих в заданный интервал
Так а проблема в чем именно? Что получилось, что не получилось?
можно ли переделать этот код, чтоб не было int** a = new int* [n]; и a[i] = new int[m];?
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "УТЕ-111 Антонович\n";
cout << "количество строк массива: ";
int n, m, x, y, k = 0;
cin >> n;
cout << "количество столбцов массива: ";
cin >> m;
cout << "интервал: " << endl;
cin >> x >> y;
int** a = new int* [n];
cout << "Введите элементы массива" << endl;
for (int i = 0; i < n; i++) {
a[i] = new int[m];
for (int j = 0; j < m; j++) {
cout << "[" << i + 1 << "][" << j + 1 << "]= ";
cin >> a[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] < x || a[i][j] > y) {
k++;
}
}
}
cout << "массив: " << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
cout << "Количество элементов, не входящих в интервал " << k << endl;
for (int i = 0; i < n; i++) {
delete[] a[i];
}
return 0;
}
Сделать массив не динамическим что ли?
см. C++ | Массивы
Тогда надо и либо убрать ввод n и m (сделать их константами), либо сделать размер массива большим (100, …) и не вводить n и m больше этого.