Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2010, 23:53   #1
1mposs1ble
Пользователь
 
Регистрация: 24.03.2010
Сообщений: 12
По умолчанию класс массивов

Условие:
Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность задания произвольных границ индексов при создании объекта, и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, вывода на экран элемента массива по заданному индексу и всего массива.


{

class Vector
{
private const string WRONG_INDICES = "Все векторы должны иметь идентичные индексы.";
private int hIndex;
private int nIndex;
private int kIndex;
public int[] vector;
public Vector(int Index,int StartIndex, int konecIndex)// конструктор класса
{
hIndex = Index;
nIndex = StartIndex;
kIndex = konecIndex;
vector = new int[Index];
}
public int StartIndex
{
//код доступа
get { return nIndex; }
set {nIndex = value; }
}
public int konecIndex
{
//код доступа
get { return kIndex; }
set { kIndex = value; }
}
public int Index
{
get { return hIndex; }

}
public int this[int NumOfElement]// индексатор
{
get
{
if (NumOfElement >= hIndex)
{
throw new IndexOutOfRangeException();// исключение
}
else
return vector[NumOfElement];
}
set
{
if (NumOfElement >= hIndex)
{
throw new IndexOutOfRangeException();
}
else
vector[NumOfElement] = value;
}
}


//Сложение векторов
public static Vector operator + (Vector x,Vector y)// определение операции +
{
if (x.Index != y.Index)
{
//throw new Exception("Error") ;
throw new ArgumentException(WRONG_INDICES);// исключение
}
else
{
Vector temp = new Vector(x.Index);
for (int i = 0; i < temp.Index; i++)
{
temp[i] = x[i] + y[i];
}
return temp;
}
}
//Вычитание векторов
public static Vector operator -(Vector x, Vector y)//определение операции -
{
if (x.Index != y.Index)
{
//throw new Exception("Error");
throw new ArgumentException(WRONG_INDICES);// исключение
}
else
{
Vector temp = new Vector(x.Index);
for (int i = 0; i < temp.Index; i++)
{
temp[i] = x[i] - y[i];
}
return temp;
}
}
//Деление на скаляр
public static Vector operator /(Vector x, double s)// определение операции /
{
Vector temp = new Vector(x.Index);
for (int i = 0; i < temp.Index; i++)
{
temp[i] = x[i] /s;
}
return temp;
}
//Умножение на скаляр
public static Vector operator *(Vector x, double s)// определение операции*
{
Vector temp = new Vector(x.Index);
for (int i = 0; i < temp.Index; i++)
{
temp[i] = x[i] *s;
}
return temp;
}
public void Print(int NumOfElement)//метод print вывод на экран
{
Console.Write(vector[NumOfElement]);
}
public void Print()
{
for(int i=0;i<hIndex;i++)
Console.Write(vector[i] + " ");

}
}
}


Не пойму в чем ошибка....Пожалуйста подскажите что исправить!!
Заранее Спасибо!
1mposs1ble вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс Chartvit Visual C++ 2 05.01.2011 22:20
КЛАСС 4ika Общие вопросы C/C++ 1 16.03.2010 21:32
C++ . Класс Ануар56 Помощь студентам 8 23.04.2009 19:41
Класс Юлёк Фриланс 6 15.06.2008 15:00