Помогите написать код...

Задано три двумерных массива типа double. Размеры массивов вводятся пользователем, а элементы командой rand()%1000/(double)100; Вывести на экран среднее значение элементов.

А в чем конкретно проблема? Алгоритм? Структура данных? Отсутствие знаний по С++?

Есть три двумерных массива. Следовательно все действия с массивами должны быть выполнены функциями.

Действия с массивами: создание, заполнение значениями, подсчет среднего, удаление. Плюс надо наверное вывести массив на экран, как минимум для контроля.

Можно все четыре (пять) действия запихнуть в одну функцию. Но это будет негибкое решение. Лучше все эти действия разнести по отдельным функциям. Тогда без головняка можно будет делать с массивами любые манипуляции в добавление к подсчету среднего.

Получается примерно следующее:

// создание массива (получение памяти)
double **alloc_mem(size_t rows, size_t cols) { ... }

// удаление массива (освобождение памяти)
void free_mem(double **arr, size_t rows) { ... }

// заполнение значениями
void init_arr(double **arr, size_t rows, size_t cols) { ... }

// вычисление среднего значения
double avg_arr(double **arr, size_t rows, size_t cols) { ... }

// вывод массива на экран
void print_arr(double **arr, size_t rows, size_t cols) { ... }

Ну и головная программа:

void main() {

    double **arr1, **arr2, **arr3;
    double avg;
    size_t r, c;    // количество строк и столбцов

    // работа с массивом arr1
    // здесь запросить у пользователя r и c

    arr1 = alloc_mem(r, c);
    init_arr(arr1, r, c);
    print_arr(arr1, r, c);
    avg = avg_arr(arr1, r, c);
    cout << "Average value for array 1: " << avg << endl;
    free_mem(arr1, r);

    // работа с массивом arr2
    ...

    // работа с массивом arr3
    ...

    system("pause");
}

Понятно, что вызовы этих функций для массивов 1, 2 и 3 в головной программе можно тасовать так как удобно. Главное, что бы для каждого массива сначала было выполнено создание, затем инициализация, и в самом конце удаление.

Про работу с массивами можно почитать статью «Многомерные массивы в C++ — практическое пособие».

Вообще такие вещи лучше реализовывать как класс. Тогда каждый «массив» будет помнить свою размерность и не нужно будет в каждую функцию передавать такое количество параметров.

А какие библиотеки нужно использовать?

Или можно попросить как будет выглядеть исходный код?

А какие библиотеки нужно использовать?

rand, system<cstdlib>
консольный ввод-вывод — <iostream>, <iomanip> — по вкусу

Или можно попросить как будет выглядеть исходный код?

Как сам напишешь, так и будет выглядеть. Надеюсь, что красиво :-)

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.