473,770 Members | 1,996 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Simple program big problem

1 New Member
Hi all
Ok in class to do we had to do the following and I keep on running into the same problem:
Expand|Select|Wrap|Line Numbers
  1. class Array
  2. {
  3. public:
  4.     Array(int size);         //constructor - sets capacity to size
  5.     void print();            //prints the contents of the Array
  6.     void add(int value);     //adds element to end of Array
  7.     ~Array();                //destructor
  8. private:
  9.     int length;                //number of elements
  10.     int capacity;            //size of internal array
  11.     int* list;                //pointer to internal array
  12.     void doubleCapacity();     //doubles the capacity
  13. };
  14.  
  15. int main()
  16. {
  17.     srand(time(NULL));
  18.  
  19.     Array* a2 = new Array(1);
  20.  
  21.     //do the following:
  22.  
  23.     //add 9 elements to a2
  24.     for(int index1 = 0 ; index1 < 10; index1++ )
  25.     {
  26.                  //This is where I hit the problem it jumps from here into add
  27.                 //then it runs into trouble
  28.                 a2->add(5);
  29.                }
  30.  
  31.     //    print a2
  32.     a2->print();
  33.     //    cleanup
  34.     delete a2;
  35.  
  36.     system("pause");
  37.     return 0;
  38. }
  39.  
  40. Array::Array(int size) : capacity(size), length(0)
  41. {
  42.     int *list = new int[capacity];
  43. }
  44.  
  45. void Array::print()
  46. {
  47.  
  48.     for(int i = 0; i < length; i++)
  49.     {
  50.         cout << list[i] << ", ";
  51.     }
  52.     cout << endl;
  53.  
  54. }
  55. void Array::add(int value)
  56. {
  57.     if(length < capacity)
  58.     {
  59.         list[length] = value;
  60.         length++;
  61.     }
  62.     else
  63.     {
  64.         doubleCapacity();
  65.         list[length] = value;
  66.         length++;
  67.     }
  68. }
  69. Array::~Array()
  70. {
  71.     delete [] list;
  72.     list = NULL;
  73.  
  74. }
  75. void Array::doubleCapacity()
  76. {
  77.  
  78.     int oldcapacity = capacity;
  79.  
  80.     capacity *= 2;
  81.  
  82.     int* temp= new int[capacity];
  83.  
  84.     for(int index = 0; index < oldcapacity; index++)
  85.     {
  86.         temp[index] = list[index];
  87.     }
  88.  
  89.     delete [] list;
  90.     list = temp;
  91. }
/after I jump into a2->add(temp) i get an access violation.
Any help would be great
Mar 27 '07 #1
1 1327
svlsr2000
181 Recognized Expert New Member
Hi all
Ok in class to do we had to do the following and I keep on running into the same problem:
class Array
{
public:
Array(int size); //constructor - sets capacity to size
void print(); //prints the contents of the Array
void add(int value); //adds element to end of Array
~Array(); //destructor
private:
int length; //number of elements
int capacity; //size of internal array
int* list; //pointer to internal array
void doubleCapacity( ); //doubles the capacity
};

int main()
{
srand(time(NULL ));

Array* a2 = new Array(1);

//do the following:

//add 9 elements to a2
for(int index1 = 0 ; index1 < 10; index1++ )
{
//This is where I hit the problem it jumps from here into add
//then it runs into trouble
a2->add(5);
}

// print a2
a2->print();
// cleanup
delete a2;

system("pause") ;
return 0;
}

Array::Array(in t size) : capacity(size), length(0)
{
int *list = new int[capacity];
}

void Array::print()
{

for(int i = 0; i < length; i++)
{
cout << list[i] << ", ";
}
cout << endl;

}
void Array::add(int value)
{
if(length < capacity)
{
list[length] = value;
length++;
}
else
{
doubleCapacity( );
list[length] = value;
length++;
}
}
Array::~Array()
{
delete [] list;
list = NULL;

}
void Array::doubleCa pacity()
{

int oldcapacity = capacity;

capacity *= 2;

int* temp= new int[capacity];

for(int index = 0; index < oldcapacity; index++)
{
temp[index] = list[index];
}

delete [] list;
list = temp;
}
/after I jump into a2->add(temp) i get an access violation.
Any help would be great
Here the problem is with constructor, its creating a local variable by name list and it initializes it. "ITS NOT INITIALIZING THE LIST IE VARIABLE IN CLASS".
Mar 27 '07 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

38
3542
by: jrlen balane | last post by:
basically what the code does is transmit data to a hardware and then receive data that the hardware will transmit. import serial import string import time from struct import * ser = serial.Serial()
31
14350
by: da Vinci | last post by:
OK, this has got to be a simple one and yet I cannot find the answer in my textbook. How can I get a simple pause after an output line, that simply waits for any key to be pressed to move on? Basically: "Press any key to continue..." I beleive that I am looking for is something along the lines of a....
3
3699
by: Patchwork | last post by:
Hi Everyone, Please take a look at the following (simple and fun) program: //////////////////////////////////////////////////////////////////////////// ///////////// // Monster Munch, example program #include <list>
17
6524
by: savesdeday | last post by:
In my beginnning computer science class we were asked to translate a simple interest problem. We are expected to write an algorithm that gets values for the starting account balance B, annual interest rate I, and annual service charge S. Your algorithm would then compute and print out the total amount of interest earned during the year and the final account balance at the end of the year (assuming that interest is compounded monthly, and...
5
7246
by: Rob Somers | last post by:
Hey all I am writing a program to keep track of expenses and so on - it is not a school project, I am learning C as a hobby - At any rate, I am new to structs and reading and writing to files, two aspects which I want to incorporate into my program eventually. That aside, my most pressing problem right now is how to get rid of the newline in the input when I use fgets(). Now I have looked around on the net, not so much in this group...
11
2042
by: juvenuts | last post by:
Hi, I'm a complete newbie to C, but I wanted to get started by writing a few simple programs that print out strings. 1. The first thing I wanted to do was write a program that uses getchar to read one letter at a time, and uses printf to print it out as entered. I also wanted to make it terminate when the EOF character is entered.
2
5185
by: Vitali Gontsharuk | last post by:
Hi! I have a problem programming a simple client-server game, which is called pingpong ;-) The final program will first be started as a server (nr. 2) and then as a client. The client then sends the message "Ping" to the server, which reads it and answers with a "Pong". The game is really simple and the coding should be also very simple! But for me it isn't. By the way, the program uses datagram sockets (UDP). And, I'm using
30
3545
by: galiorenye | last post by:
Hi, Given this code: A** ppA = new A*; A *pA = NULL; for(int i = 0; i < 10; ++i) { pA = ppA; //do something with pA
1
2076
by: astrogirl77 | last post by:
I'm new to C++ and am hoping to find help with coding a simple C program, am wanting to obtain code and functioning exe's. I code in an old version of Visual Basic 4.0, I have a simple app that is about 3 and a half pages of code long it does some relatively simple math additions and subtractions The problem I have is that some numbers get to be very large integers and VB automatically converts this to scientifc notation, what I need is...
17
5819
by: Chris M. Thomasson | last post by:
I use the following technique in all of my C++ projects; here is the example code with error checking omitted for brevity: _________________________________________________________________ /* Simple Thread Object ______________________________________________________________*/ #include <pthread.h> extern "C" void* thread_entry(void*);
0
9618
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9454
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10101
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10038
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7456
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6710
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5354
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3609
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2849
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.