C Array Insertion question I have a tester header and one ma

C++ Array Insertion question. I have a tester header and one main.cpp file. I can\'t seem to find the problem with this insertion. Can someone help please. The tester should automatically run, but I think it\'s inserting incorrectly

--------------------------------------------------------

#include <iostream>
using namespace std;

const int CAPACITY = 10;

// Declaration function insertAtIndex
int* insertAtIndex(int* origArr, int numElem, int elemToInsert, int index);

#include \"Testing.hxx\"

int main( )
{
   testCases();

   cout << endl;
   system(\"Pause\");
return 0;
}

// Definition function insertAtIndex

int* insertAtIndex(int* origArr, int numOfElem, int elemToInsert, int index) {

   int arrSize;
   arrSize = sizeof(origArr)/ sizeof(origArr[0]);

   if (index > arrSize) {
       cerr << \"Array is full. Cannot insert another element.\" << endl;
   }
  

   int* newArr = new int[arrSize + 1];

   for (int i = 0; i <= arrSize; i++) {
       if (i < index) {
           newArr[i] = origArr[i];
       }
       if (i == index) {
           newArr[i] = elemToInsert;
       }
       if (i > index) {
           newArr[i] = origArr[i - 1];
       }
   }

   return newArr;
}

-------------------------------------------------------------------------------------

#ifndef TESTING_H
#define TESTING_H

#include <iostream>
#include <vector>
using namespace std;

vector< vector<int>> v = { { },
{ 1 },
{ 3 },
{ 5, 3 },
{ 7, 4 },
{ 5, 3, 1, 7 },
{ 4, 2, 7, 4 },
{ 8, 4, 2, 6, 7, 8, 2 },
{ 9, 8, 5, 6, 3, 2, 1, 4 },
{ 1, 6, 4, 8, 9, 0, 7, 5, 2, 3 },
{ 4, 6, 2},
{ 0, 1, 2, 3, 4, 5, 6 ,7 ,8, 9 } };

int indices[] = { 0, 0, 1, 1, 2, 4, 5, 7, 8, 10, 20, 5 };

void printArray(const int a[], int numOfElements)
{
   if (numOfElements == 0)
       cout << \"No elements in the array.\";
   else
       for (int i = 0; i < numOfElements; ++i)
           cout << a[i] << \" \";
}

void testing(int i)
{
   int a[CAPACITY];
   int numOfElem = static_cast<int>(v[i].size());
   for (int j = 0; j < numOfElem; ++j)
       a[j] = v[i].at(j);
   cout << \"Initial Array: \";
   printArray(a, numOfElem);
   cout << endl;
   int elem = (i + 1) * 10;
   cout << \"Insert \" << elem << \" at idx \" << indices[i] << \"...\ Modified array: \";
   insertAtIndex(a, numOfElem, elem, indices[i]);  
   printArray(a, numOfElem);
   cout << \"\ --------------------------------------------------------\ \";
}
void testCases()
{
   int vectorSize = static_cast<int>(v.size());

   for (int i = 0; i < vectorSize; ++i)
   {
       testing(i);
   }
}

#endif

Solution

check over these statements::

int* insertAtIndex(int* origArr, int numOfElem, int elemToInsert, int index) {

and

#ifndef TESTING_H
#define TESTING_H

#include <iostream>
#include <vector>
using namespace std;

vector< vector<int>> v = { { },
{ 1 },
{ 3 } .....

and

insertAtIndex(a, numOfElem, elem, indices[i]);

C++ Array Insertion question. I have a tester header and one main.cpp file. I can\'t seem to find the problem with this insertion. Can someone help please. The
C++ Array Insertion question. I have a tester header and one main.cpp file. I can\'t seem to find the problem with this insertion. Can someone help please. The
C++ Array Insertion question. I have a tester header and one main.cpp file. I can\'t seem to find the problem with this insertion. Can someone help please. The

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site