| | |
Urgent solution needed
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Sep 2007
Posts: 2
Reputation:
Solved Threads: 0
Hi!
Would you anybody please do check my code given below and say why I am getting Debug Assertion Failed.
I have used visual studio 6. But I think I have problems in my code. Please I do need urgent solution. Please help me.
Would you anybody please do check my code given below and say why I am getting Debug Assertion Failed.
I have used visual studio 6. But I think I have problems in my code. Please I do need urgent solution. Please help me.
C++ Syntax (Toggle Plain Text)
#include <iostream.h> int INITIAL = 6;//allocation size int INCREMENT = 4;//if more allocation needed int initialSize;//initial number of array elements class Point { int x; int y; public: Point(); Point ( int x, int y ); ~Point() { cout << ""; } int get_x(); int get_y(); void set_x(int x); void set_y(int y); void print(); }; Point::Point() { } Point::Point(int x, int y) { this->x = x; this->y = y; } void Point::set_x(int x) { this->x = x; } void Point::set_y(int y) { this->y = y; } int Point::get_x() { return x; } int Point::get_y() { return y; } void Point::print() { cout << " (" << get_x() << ", " << get_y() << ") " << endl; } class Vector_ { Point *pArray; int size; public: Vector_(); Vector_(Point p[]); ~Vector_() { cout << ""; }; int get_size(); int insert(Point p); int insert(Point p[], int size); int insert(Point p[], int start, int size ); int del (Point p); int delat (int Pos); int delat (int start, int length); int iselement (Point p); void displayVector_ ();//Defined }; Vector_::Vector_() { } Vector_::Vector_(Point p[]) { if ( initialSize > INITIAL ) { while (initialSize>INITIAL) { INITIAL += INCREMENT; } } pArray = new Point[INITIAL]; pArray = p; size = initialSize; } int Vector_::insert( Point p) { if (size+1 >= INITIAL) { while (size+1>=INITIAL) { INITIAL += INCREMENT; } Point *tempPArray; tempPArray = new Point[INITIAL]; tempPArray = pArray; tempPArray[size]=p; size++; //delete [] pArray; pArray = new Point[INITIAL]; pArray = tempPArray; } else { pArray[size] = p; size++; } return size-1;//Return value: in which index the entry is inserted. } int Vector_::insert(Point p[], int size) { int i, j; Point *tempPArray; if ((this->size+size) >= INITIAL) { while ((this->size+size) >= INITIAL) { INITIAL += INCREMENT; } tempPArray = new Point[INITIAL]; tempPArray = pArray; for (i=0,j=this->size; i<size; i++, j++) { tempPArray[j] = p[i]; } this->size += size; pArray = new Point[INITIAL]; pArray = tempPArray; } else { for (i=0,j=this->size; i<size; i++, j++) { pArray[j] = p[i]; } this->size += size; } return this->size-size;//index in which the first new entry is inserted. } int Vector_::insert(Point p[], int start, int size ) { //assuming start is a index. start+1 is the nth element int i, j; Point *tempPArray; if (start > this->size) { cout << "Error: Start location must be <= " << this->size << endl <<endl; } else if ((start+size) >= this->size || (start+size) >= INITIAL) { while ((start+size) >= INITIAL) { INITIAL += INCREMENT; } tempPArray = new Point[INITIAL]; tempPArray = pArray; for (i=0,j=start; i<size; i++, j++) { tempPArray[j] = p[i]; //cout << p[i].get_x() << " " << p[i].get_y(); } if ( start +size > this->size) { this->size = start +size; } //pArray = new Point[INITIAL]; pArray = tempPArray; } else { for (i=0,j=start; i<size; i++, j++) { pArray[j] = p[i]; } } return start; } int Vector_::del (Point p) { //delete first occurrence of p int i, j; Point *tempPArray; tempPArray = new Point [size]; int firstOccFound = 0; int deletedIndex = -1; if ( iselement(p)) { for (i=0, j=0; i<size; i++) { if (!firstOccFound &&pArray[i].get_x()==p.get_x() && pArray[i].get_y()==p.get_y()) { firstOccFound = 1; deletedIndex = i; continue; } tempPArray[j] = pArray[i]; j++; } size = j; pArray = tempPArray; cout << "Point : (" << p.get_x()<<", "<<p.get_y()<<")" << " is deleted." << endl <<endl; } else { cout << "No entry deleted."<<endl; cout << "Error: Point : (" << p.get_x()<<", "<<p.get_y()<<")" << " is not in the vector."<<endl<<endl; } return deletedIndex; } int Vector_::delat (int Pos) { int i, j; Point *tempPArray; tempPArray = new Point [size]; if (Pos > size-1) { cout << "No entry deleted."<<endl; cout <<"Error: Position must be less than " << size << endl << endl; } else { for (i=0, j=0; i<size; i++) { if ( i!= Pos) { tempPArray[j] = pArray[i]; j++; } } cout << "Point : (" << pArray[Pos].get_x()<<", "<<pArray[Pos].get_y()<<")" << " at Postion "<< Pos << " is deleted." << endl <<endl; size = j; pArray = new Point[INITIAL]; pArray = tempPArray; } return 1; } int Vector_::delat (int start, int length) { int i, j; Point *tempPArray; tempPArray = new Point [size]; if (start >= size ) { cout << "No entry deleted."<<endl; cout << "Error: start: "<<start<<" must be less than Vector Size. Vector size is " << size <<endl<<endl; } else if (start+length >= size) { cout << "No entry deleted."<<endl; cout << "Error: ( start: " <<start<< " + length: "<< length << " ) = "<< start+length << " which must be less than the Vector size. Vector size = " << size <<endl<<endl; } else { cout << "Deleted Point(s) : "<<endl ; for (i=0, j=0; i<size; i++) { if ( i<start || i>start+length-1) { tempPArray[j] = pArray[i]; j++; } else { cout << "\t"<<"("<<pArray[i].get_x()<<", "<<pArray[i].get_y()<<")"<<endl; } } size = j; pArray = new Point[INITIAL]; pArray = tempPArray; } return 1; } int Vector_::iselement (Point p) { int i; int found = 0; for (i=0; i<size; i++) { if ( pArray[i].get_x()==p.get_x() && pArray[i].get_y()==p.get_y()) { found = 1; break; } } return found; } int Vector_::get_size() { return size; } void Vector_::displayVector_ () { int i; cout << "The Vector is: "<<endl<<endl; for (i=0; i<size; i++) { cout << "\t"; pArray[i].print(); } cout <<endl<<endl; } void main () { int numPoints; Point *p; int i, x, y; cout << "Enter number of points : "; cin >>numPoints; initialSize = numPoints; p = new Point[initialSize]; for (i=0; i<initialSize;i++) { cout << "Point "<<i+1<<endl; cout << "\t x: "; cin >> x; cout << endl<<"\t y: "; cin >> y; cout << endl<<endl; p[i].set_x(x); p[i].set_y(y); } Vector_ v1 (p); v1.displayVector_(); cout << v1.get_size(); cout << endl << endl << endl; Point p1[5]= { Point(1,2), Point(3,4), Point(5,6), Point(7,8), Point(9,10), }; v1.insert(p1, 5); v1.displayVector_(); Point p2 (11, 11); v1.insert(p2); cout << endl << endl << endl; v1.displayVector_(); cout << endl << endl << endl; v1.insert(p1, 4, 5); v1.displayVector_(); Point p3(9,10); cout << endl << endl << endl; cout << v1.iselement(p3); v1.del(p3); cout << endl << endl << endl; v1.displayVector_(); v1.delat(3, 1); cout << endl << endl << endl; v1.displayVector_(); }
![]() |
Similar Threads
- Cannot open secured sites - need urgent solution (Web Browsers)
- Specific eCommerce Solution Needed (eCommerce)
- Urgent Advice needed (Community Introductions)
- help please urgent review needed (Website Reviews)
- Need Urgent Solution (Visual Basic 4 / 5 / 6)
- isdesign.ocx and mscomct2.ocx (Visual Basic 4 / 5 / 6)
Other Threads in the C++ Forum
- Previous Thread: CPPBuilder LINK32 Error REGISTRY.OBJ
- Next Thread: calculations with random #'s
| Thread Tools | Search this Thread |
api array based beginner binary bitmap c++ c/c++ calculator char char* class classes code coding compile compiler console conversion count database delete deploy desktop developer directshow dll dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph homeworkhelp homeworkhelper iamthwee ifstream input int integer lib linkedlist linux list loop looping loops map math matrix memory multiple news node number numbertoword output parameter pointer problem program programming project python random read recursion recursive reference return rpg sorting string strings struct temperature template templates test text tree unix url variable vector video visualstudio win32 windows winsock word wordfrequency wxwidgets






