Вывод из функции в c++

326
16 ноября 2017, 04:41

Всем здравствуйте, следующая проблема: У меня есть функция "showArray" она выводит случайные числа, я в "main" приписываю её, а как мне теперь увидеть сгенерированные числа? В main прописываю : cout << showArray; но выводит какой-то адрес,а не числа. Как сделать,чтобы числа были?

   #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std ;
    void generateArray(int *arr,int n);
    void showArray(int *arr,int n);
    int searchMin(int *arr,int n);
    int searchMax(int *arr,int n);
    void echangeMinMax(int *arr,int index_of_min,int index_of_max);
    void sortUpArray(int *arr,int n);
    void deleteEvenElements(int *arr,int &n);
    void moveLeftElements(int *arr,int n);
    int main()
    {   
        int n;
        cin>> n;
        int *arr=new int[n]; 
        generateArray(arr,n) ;
        showArray(arr,n);
        int index_of_min=searchMin(arr,n);
        cout<<arr[index_of_min]<<endl;
        int index_of_max=searchMax(arr,n);
        cout<<arr[index_of_max]<<endl;
        echangeMinMax(arr,index_of_min, index_of_max);
        showArray(arr,n);
        delete[] arr;
        system ("pause");
        return 0;
    }
    void generateArray(int *arr,int n)
    {
        int a,b;
        cin>> a;
        cin>> b;
        srand(time(NULL));
        for (int i=0;i<n;i++)
            arr [i]=rand()%(b-a+1)+a;
    }
    void showArray(int *arr,int n)
    {
        for (int i=0;i<n;i++)
            cout << arr[i]<< " " ;
        cout<<endl;
    }
    int searchMin(int *arr,int n)
    {
        int index_of_min=0;
        for (int i=1;i<n;i++)
        {
            if ( arr [i]<arr[index_of_min])
            {
                index_of_min= i;
            }
        }
        return index_of_min;
    }
    int searchMax(int *arr,int n)
    {
        int index_of_max=0;
        for (int i=1;i<n;i++)
        {
            if ( arr [i]>arr[index_of_max])
            {
                index_of_max= i;
            }
        }
        return index_of_max;
    }
    void echangeMinMax(int *arr,int index_of_min,int index_of_max)
    {
        swap(arr[index_of_min],arr[index_of_max]);
    }
    void sortUpArray(int *arr,int n);
    {
        for (int i=0;i<n-1;i++)
            for (int j=i;j<n;i++)
            if ( arr [i]>arr[i])
            {
                swap (arr [i],arr[i]);
            }

    }
Answer 1

Вопрос странный...

int main()
{   
    int n;
    cin>> n;       

Вы ввели n

    int *arr=new int[n]; 
    generateArray(arr,n) ;

Ввели числа a и b и заполнили массив.

    showArray(arr,n);

Вывели массив на экран.

    int index_of_min=searchMin(arr,n);
    cout<<arr[index_of_min]<<endl;

Нашли и вывели индекс минимального значения

    int index_of_max=searchMax(arr,n);
    cout<<arr[index_of_max]<<endl;

Для максимума

    echangeMinMax(arr,index_of_min, index_of_max);

Обменяли

    showArray(arr,n);

Опять вывели массив

Что вы еще хотите?

Еще раз его вывести? просто пишите, как и ранее -

    showArray(arr,n);

Запись cout << showArray выведет адрес функции.

READ ALSO
Из статического массива в массив с использованием указателей (C++)

Из статического массива в массив с использованием указателей (C++)

Доброго времени сутокЕсть код ниже, который нужно переделать с использованием указателей

277
Дерево не удаляется

Дерево не удаляется

Посмотрите на свои последние две строкиВначале Вы зануляете указатель, а потом удаляете данные по нему, то есть, по null

247
помогите! Написание кода по масивам на Borland C++ Builder 6.0 [требует правки]

помогите! Написание кода по масивам на Borland C++ Builder 6.0 [требует правки]

В одномерном масиве, что состоит из n целих елементов что вводяться с клавиатуры, вычислить суму модулей елементов масива разположеных до максимального...

263
Вызов функций в функции С++

Вызов функций в функции С++

В этом коде использую структурыКод написаный без структур отработал с подобным вызовом:

288