Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите плиз разобраться с сылками

18K
01 мая 2007 года
Maniac.by
19 / / 20.03.2007
Помогите плиз разобраться с сылками.
Я сделал через указатели...по этому эл-ты в масивах не меняються, а как сделать с сылками что то не до петрю...получается ерунда...поможите плиз;)

Условие:
Создать два класса – динамический вектор и их объекты. Найти в каждом объекте MAX значение элемента векторов и поменять их местами. Содержимое объектов (их векторов) до и после обмена вывести на экран.
Код:
//v.1_task1.cpp

#include <iostream>
#include <conio.h>

#define SIZE 3

using namespace std;
//---------------------------------------------------------------------------
class AClass
{
private:
    int *m_array1;

public:
    AClass();
    ~AClass() { delete []m_array1; }
    void In();
    int* Out() const { return m_array1; }
    void Show(int *array, int namber);
    int ArrayMax(int *array);
    void Barter(int maxArray1, int minAraay2);
};
//---------------------------------------------------------------------------
class BClass
{
private:
    int *m_array2;

public:
    BClass();
    ~BClass() { delete []m_array2; }
    void In();
    int* Out() const { return m_array2; }
};
//---------------------------------------------------------------------------
AClass::AClass()
{
    m_array1 = new int[SIZE];
    if (!m_array1) exit(1);
}
//---------------------------------------------------------------------------
BClass::BClass()
{
    m_array2 = new int[SIZE];
    if (!m_array2) exit(1);
}
//---------------------------------------------------------------------------
void AClass::In()
{
    cout << "Enter a array 1: " << endl;
    for (int i = 0; i != SIZE; i++)
        cin >> m_array1;
    cout << "---------------------------" << endl;
}
//---------------------------------------------------------------------------
void BClass::In()
{
    cout << "Enter a array 2: "<< endl;
    for (int i = 0; i != SIZE; i++)
        cin >> m_array2;
    cout << "---------------------------" << endl;
}
//---------------------------------------------------------------------------
void AClass::Show(int *array, int namber)
{
    cout << "Enter a array " << namber << ": ";
    for (int i = 0; i != SIZE; i++)
        cout << array << " ";
    cout << endl << "---------------------------" << endl;
}
//---------------------------------------------------------------------------
int AClass::ArrayMax(int *array)
{
    for (int i = 0, temp = array[0]; i != SIZE; i++)
    {
        if (array > temp)
            temp = array;
    }
    //cout << "Maximal element: "<< temp << endl;
    //cout << "---------------------------" << endl;
    return temp;
}
//---------------------------------------------------------------------------
void AClass::Barter(int maxArray1, int maxArray2)
{
    int temp;
    temp = maxArray1;
    maxArray1 = maxArray2;
    maxArray2 = temp;
}
//---------------------------------------------------------------------------
int main()
{
    AClass oA;
    BClass oB;
    oA.In();
    oB.In();
    oA.Show(oA.Out(), 1);
    oA.Show(oB.Out(), 2);
    oA.Barter(oA.ArrayMax(oA.Out()), oA.ArrayMax(oB.Out()));
    oA.Show(oA.Out(), 1);
    oA.Show(oB.Out(), 2);

    cout << "Press any key ";
    while(!_kbhit());
    return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог