Вопрос задан 20.06.2023 в 07:16. Предмет Информатика. Спрашивает Полуэктов Слава.

Дан двумерный массив a, размером (n´m). Найти минимальный элемент в каждой строке матрицы среди

положительных элементов C++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зубковская Татьяна.

Ответ:

#include <iostream>

using namespace std;

int** CreateArr(int rows, int cols)

{

int** arr = new int* [rows];

for (int i = 0; i < rows; i++) arr[i] = new int[cols];

return arr;

}

void FillArr(int** arr, int rows, int cols)

{

for (int i = 0; i < rows; i++) for (int j = 0; j < cols; j++) arr[i][j] = -10 + rand() % 20;

}

void PrintArr(int** arr, int rows, int cols)

{

cout << endl << endl;

for (int i = 0; i < rows; i++)

{

 int min{ -1 };

 cout << "Строка #" << i << ": ";

 for (int j = 0; j < cols; j++)

 {

  cout << '\t' << arr[i][j];

  if (arr[i][j] >= 0 && (arr[i][j] < arr[min / 10][min % 10] || min == -1)) min = (i * 10) + j;

 }

 cout << '\t';

 if (min != -1) cout << "Минимальный положительный элемент в этой строке: " << arr[min / 10][min % 10] << " под индексом [" << min % 10 << ']' << endl;

 else cout << "Положительных элементов нет" << endl;

}

cout << endl << endl;

}

void DeleteArr(int** arr, int rows)

{

for (int i = 0; i < rows; i++) delete arr[i];

delete[] arr;

}

int main()

{

srand(time(NULL));

setlocale(0, "");

int n{}, m{};

cin >> n >> m;

int** a = CreateArr(n, m);

FillArr(a, n, m);

PrintArr(a, n, m);

DeleteArr(a, n);

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

помощью программы на языке Python можно решить задачу следующим образом:

```python def find_min_positive_elements(matrix): n = len(matrix) # количество строк в матрице m = len(matrix[0]) # количество столбцов в матрице min_positive_elements = [] # список для хранения минимальных положительных элементов

for i in range(n): positive_elements = [] # список для хранения положительных элементов в каждой строке for j in range(m): if matrix[i][j] > 0: positive_elements.append(matrix[i][j]) # находим минимальный положительный элемент в строке if len(positive_elements) > 0: min_positive_elements.append(min(positive_elements)) else: min_positive_elements.append(None) # в случае, если положительных элементов в строке нет, добавляем None в список return min_positive_elements ```

Пример использования функции:

```python matrix = [[-1, 2, 3], [4, -5, 6], [-7, 8, -9]]

min_positive_elements = find_min_positive_elements(matrix) print(min_positive_elements) # [2, 4, 8] ```

В данном примере функция `find_min_positive_elements()` принимает двумерный массив `matrix` и возвращает список `min_positive_elements`, где каждый элемент соответствует минимальному положительному элементу в каждой строке матрицы. Если в строке нет положительных элементов, то в соответствующий элемент списка добавляется значение `None`.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос