Hi, read the following code,
The error I get is,
I'm tired now, that's why I may just have missed something. Thanks for help...
Code:
#include "IntegerArray.h"
using namespace std;
int main() {
int size, n;
cout << "Size of a single array: ";
while(true) {
cin >> size;
cin.ignore();
if(size >= 1 && size <= 100) break;
}
int * a = new int[size];
int * new_a = new int[size];
int * b = new int[size];
int * new_b = new int[size];
cout << "(to input): ";
cin >> n;
cin.ignore();
new_a = input_array(a, n);
cout << "(to copy): ";
cin >> n;
cin.ignore();
new_b = copy_array(b, new_a, n);
cout << "(to display): ";
cin >> n;
cin.ignore();
display_array(new_b, n);
delete [] a;
delete [] new_a;
delete [] b;
delete [] new_b;
}
Code:
#include <iostream>
using namespace std;
int * const input_array(int * const a, int n) {
int p;
for(int i=0; i<n; ) {
cin >> p;
cin.ignore();
a[n] = p;
i++;
}
return a;
}
int * const copy_array(int * const a, int * const b, int n) {
for(int i=0; i<n; ) {
a[n] = b[n];
i++;
}
return a;
}
void display_array(int * const a, int n) {
for(int i=0; i<n; ) {
cout << "[" << i << "] " << a[i] << endl;
i++;
}
}
Code:
*** glibc detected *** ./a.out: double free or corruption (fasttop): 0x09ffe008 ***