Форум программистов, компьютерный форум CyberForum.ru

Задача на классы в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Производная функции http://www.cyberforum.ru/cpp-beginners/thread606066.html
Задание: вывести на экран таблицу значений функции y=x*2e^x и ее первой производной в диапазоне от -5 до 5.Для вычисления значений f(x) и f'(x) создать функции. Вот код,не могу сообразить,что не так!Помогите,чтобы заработала! #include "stdafx.h" #include <iostream> #include <conio.h> #include <string.h> #include <math.h> using namespace std; float func (double x); float funcP (double x); ...
C++ Передача свойств обьекта в функцию openGL Здравствуйте уважаемые форумчане..Пришел к вам со следующей нуждой: У меня есть класс тайловой карты. При создании карты инициализируется массив следующим образом: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 где 1-это ячейка карты которую надо отрисовать http://www.cyberforum.ru/cpp-beginners/thread606057.html
Непонятен синтаксис C++
Доброго времени суток! Хотелось бы попросить вашего совета. код double **E = new double *; в данном отрывке что значит **E и *?
C++ Вылетает деструктор
Здравствуйте. Есть класс Node. class Node { public: Node(); ~Node(); /* Методы */
C++ Определить, какое абсолютное значение встречается в массиве чаще остальных http://www.cyberforum.ru/cpp-beginners/thread606034.html
Определить, какое абсолютное значение встречается в массиве чаще остальных Размерность массива=200 Диапазон значений от -50 до 50
C++ Динамический массив Вроде все просто, но что-то я завис, ведь когда у меня динамически создается матрица: fnprcl=new AnsiString*; for(int i=0;i<count2;i++) fnprcl=new AnsiString; у меня count2 столбцов, так ведь, или я опять перепутал?) подробнее

Показать сообщение отдельно
CigaroMan
Сообщений: n/a
15.06.2012, 00:43     Задача на классы в C++
Добрый день.
Пытаюсь решить задачу:
Кликните здесь для просмотра всего текста
Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор с двумя параметрами. Конструктор без параметров выделяет место для одного элемента и инициализирует его в ноль. Конструктор с одним параметром, - размер вектора, - выделяет место и инициализирует номером в массиве, конструктор с двумя параметрами выделяет место (первый аргумент) и инициализирует вторым аргументом. Деструктор освобождает память. Определить функцию, которая присваивает элементу массива некоторое значение (параметр по умолчанию), функцию которая получает некоторый элемент массива. В переменную состояния устанавливать код ошибки, когда не хватает памяти, выходит за пределы массива. Определить функцию печати. Определить функции сложения, умножения, вычитания, которые производят эти арифметические операции с данными этого класса и встроенного float. Определить методы сравнения: больше, меньше или равно. Предусмотреть возможность подсчета числа объектов данного типа. Проверить работу этого класса.



Вот что написал:
Кликните здесь для просмотра всего текста
#include <iostream>
#include <stdio.h>
using namespace std;

class vector
{
public:
vector();
vector(int);
vector(int, int*);
~vector();
vector VecSum(vector&,vector&);
void VecSub(vector,vector);
void VecMul(vector,vector);
int& operator[](int);
void VecPrint();


private:
int num;
int *array;
};

vector::vector(){}

vector::vector(int n)
{
num=n;
array= new int[num];
}

vector::vector(int n, int *a)
{
num=n;
a=new int[num];
int i;
for(i=0;i<=num;i++)
array[i]=a[i];
}

vector::~vector()
{
delete array;
}

int& vector::operator[](int n)
{
return array[n];
}

void vector::VecPrint()
{
int i;
for(i=0;i<=num;i++)
cout<<array[i]<<" ";
cout<<endl;
}

vector vector::VecSum(vector& a, vector& b)
{
vector tmp(num);
int i;
for (i=0;i<=num;i++)
tmp[i]=a[i]+b[i];
return tmp;
}






int main()
{
int a[5];
int b[5];
freopen("input.txt","r",stdin);
int i;
for (i=0;i<=5;i++)
cin>>a[i];
for (i=0;i<=5;i++)
cin>>b[i];

//for (i=0;i<=5;i++)
// cout<<a[i]<<" ";

vector vec(5,a);
vector vec1(5,b);
//vector vec2(5);

//vec2.VecSum(vec1,vec2);
//vec.VecPrint();
return 0;
}


Вектор создается и заполняется элементами из массива.
Пытаюсь описать функцию сложения VecSum(vector, vector). На данный момент программа вылетает на (я подозреваю) заполнении вектора из существующего массива.

Помогте найти ошибки пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru