1)Дан двумерный массив A(n ×m). Ввести данные с клавиатуры. Вывести матрицу на экран в виде таблицы. Найти среднее арифметическое положительных элементов матрицы.
2)Дан двумерный массив A(n ×m). Элементы матрицы сгенерировать случайными числами. Найти номер последнего положительного элемента в 1-ой строке матрицы.
3)Дан двумерный массив a, размером (nm). Найти номер минимального элемента в каждой строке матрицы. Затем к каждому элементу каждой строки прибавить номер минимального элемента строки.
C/C++
Двумерные массивы C++, ничего не понимаю((( Нужна помощь
1)
#include <iostream>
#include <iomanip>
using namespace std;
size_t length(const char* msg) {
auto value = 0U;
while (!value) {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
}
return value;
}
int main() {
auto n = length("n: ");
auto m = length("m: ");
auto a = new int* [n];
for (auto i = 0U; i < n; ++i) {
a[i] = new int[m];
for (auto j = 0U; j < m; ++j) {
cout << "a[" << i << "][" << j << "] >>> ";
cin >> a[i][j];
}
}
system("cls");
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < m; ++j) {
cout << ' ' << setw(4) << a[i][j];
}
puts("");
}
puts("");
auto sum = 0.0;
auto count = 0U;
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < m; ++j) {
if (a[i][j] > 0) {
sum += a[i][j];
++count;
}
}
}
auto avg = sum / count;
cout << "Average: " << fixed << setprecision(4) << avg << '\n';
for (auto i = 0U; i < n; ++i) delete[] a[i];
delete[] a;
system("pause > nul");
}
#include <iostream>
#include <iomanip>
using namespace std;
size_t length(const char* msg) {
auto value = 0U;
while (!value) {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
}
return value;
}
int main() {
auto n = length("n: ");
auto m = length("m: ");
auto a = new int* [n];
for (auto i = 0U; i < n; ++i) {
a[i] = new int[m];
for (auto j = 0U; j < m; ++j) {
cout << "a[" << i << "][" << j << "] >>> ";
cin >> a[i][j];
}
}
system("cls");
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < m; ++j) {
cout << ' ' << setw(4) << a[i][j];
}
puts("");
}
puts("");
auto sum = 0.0;
auto count = 0U;
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < m; ++j) {
if (a[i][j] > 0) {
sum += a[i][j];
++count;
}
}
}
auto avg = sum / count;
cout << "Average: " << fixed << setprecision(4) << avg << '\n';
for (auto i = 0U; i < n; ++i) delete[] a[i];
delete[] a;
system("pause > nul");
}
Судя по истории вопросов, прогресса в понимании так и нет
Степа Танганов
А нах понимать, если всегда за чела решают? +_-
Похожие вопросы
- Двумерный массив C++
- Минимакс двумерного массива, c#
- Программирование алгоритмов с использованием двумерных массивов c++
- Cоставление и отладка программ работы с двумерными массивами C++
- Cоставление и отладка программ работы с двумерными массивами. C++
- Заполнить двумерный массив 5*3 и найти строку с максимальным произведением элементов. C++
- C++ программирование с использованием динамических двумерных массивов
- Запись и чтение двумерного массива в бинарный файл
- Помощь с Массивами C++
- Нужна помощь в составлении одномерных массивов С++