
Вопрос задан 23.07.2023 в 18:09.
Предмет Информатика.
Спрашивает Merkulova Arina.
C++. Дан двумерный массив a, где число столбиков и строчек не больше чем 10. В нем надо найти
наименьший элемент и зафиксировать столбик, где он есть.Зафиксировав, в нем найти среднее положительных элементов (если среднего арифм. нет - то 0). Вывести наименьший элемент всего массива, и среднее зафиксированного столбца. Все это с фунцией void. Буду очень благодарна! Это очень важно.

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

Отвечает Милкович Аня.
Код прекреплен файлом. В программе существуют следующие ф-ции
- fillByRandomNumbers - заполнить двумерный массив случайными числами, массив может быть размерами от 1 сроки до 10 строк и от 1 столбца до 10 столбцов
- show - функция выводит в iostream размеры двумерного массива, а так же его самого
- getIndexOfColumnsWithMinElement - функция возращает коллекцию индексов столбцов, в которых было найдено самое малое значение массива (это нужно для того, что в массиве может быть несколько столбцов с одинаковым минимальным значением)
- getAverageValueOfPositiveElementsFromColumn - функция ищет среднее значение столбца двумерного массива по его индексу
- main - основная функция программы, тут содержиться основная логика
При возникновении вопросов - пишите в комментарии.




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Хорошо, вот пример кода на C++, который решает задачу, описанную вами:
cpp#include <iostream>
using namespace std;
const int MAX_ROWS = 10;
const int MAX_COLS = 10;
// Функция для нахождения наименьшего элемента и его столбца
void findMinElementAndColumn(int a[MAX_ROWS][MAX_COLS], int rows, int cols, int& minElement, int& minColumn) {
minElement = a[0][0];
minColumn = 0;
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
if (a[i][j] < minElement) {
minElement = a[i][j];
minColumn = j;
}
}
}
}
// Функция для нахождения среднего положительных элементов в столбце
double findAveragePositiveElements(int a[MAX_ROWS][MAX_COLS], int rows, int cols, int column) {
int sum = 0;
int count = 0;
for (int i = 0; i < rows; ++i) {
if (a[i][column] > 0) {
sum += a[i][column];
++count;
}
}
if (count == 0) {
return 0.0; // Если положительных элементов нет, возвращаем 0
}
return static_cast<double>(sum) / count;
}
int main() {
int rows, cols;
cout << "Введите количество строк и столбцов (не больше 10): ";
cin >> rows >> cols;
if (rows <= 0 || rows > MAX_ROWS || cols <= 0 || cols > MAX_COLS) {
cout << "Ошибка: неверные размеры массива!" << endl;
return 1;
}
int a[MAX_ROWS][MAX_COLS];
cout << "Введите элементы массива:" << endl;
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cin >> a[i][j];
}
}
int minElement, minColumn;
findMinElementAndColumn(a, rows, cols, minElement, minColumn);
double average = findAveragePositiveElements(a, rows, cols, minColumn);
cout << "Наименьший элемент всего массива: " << minElement << endl;
cout << "Среднее положительных элементов в столбце " << minColumn << ": " << average << endl;
return 0;
}
Этот код считывает размеры двумерного массива и его элементы с консоли, затем находит наименьший элемент и соответствующий столбец с помощью функции findMinElementAndColumn
. Затем вызывает функцию findAveragePositiveElements
для нахождения среднего положительных элементов в найденном столбце. В конце выводит результаты на экран.
Убедитесь, что входные данные соответствуют условиям задачи, и запустите код.


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

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

Информатика 2132

Информатика 63

Информатика 14

Информатика 32

Информатика 19

Информатика 15

Информатика 175

Информатика 31

Информатика 48
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili