question archive My c++ code is not working and I cant figure out why #include<iostream> #include<string> #include<cassert> using namespace std;   int enumerate(const string [], int n, string target) {   if (n<0)   return -1;   int counter = 0;   for (int i=0; i<n; i++)   {     if (a[i]==target)     counter++;   }   return counter; } int locate(const string a[], int n, string target) {   if (n<0)   return -1;   for (int i=0; i<n; i++)   {     if (a[i]==target)     return i;   }   return -1; } bool locateSequence(const string a[], int n, string target, int& begin, int& end) {   bool flag=false;   if (n<0)   return false;   for (int i=0; i<n; i++)   {     if (a[i]==target&&flag==false)     end=i;   }   return flag; } int locationOfMin(const string a[], int n) {   int mindex=0;   if(n<=0)   return -1;   for (int i=0; i<n; i++)   {     if (a[i]<a[mIndex])     mIndex=i;   }   return mIndex; } int moveToEnd(string a[], int n, int pos){   if (n<0)   return-1;   for (int=pos; i<n-1; i++)   {     string temp=a[i+1];     a[i+1]=a[i];     a[i]=temp;   }   return pos; } int moveToBeginning(string a[], int n, int pos){   if (n<0)   return -1;   for (int i=pos; i>0; i==)   {     string temp=a(i-1);     a[i-1]=a[i];     a[i]=temp;   }   return pos; } int findDifference (const string a1[], int n1, const string a2[], int n2){   if (n1<o)   return -1;   if (n2<0)   return -1;   int temp=0;   for (int i=0; i<n1 && i<n2; i++)   {     if (a1[i] !=a2[i])     return i;     temp=i;   }   return temp; } int removeDups(string a[], int n)   {   if (n<0)   return -1;   int duplicate=0;   string duplicateString=a[0];   for (int i=1; i<n; i++)   {     if (a[i] == duplicateString)     a[i] = "duplicate";     else     duplicateString=a[i];   }   for (int i=0; i<n; i++)   {     while (a[i] !="duplicate"&& i<n-1)     {       i++;     }   for (int k=i+1; k<n; k++)   {     while (a[k] == "duplicate" && k<n-1)   {        k++;   }   string temp=a[k];   a[k]+a[i];   a[i]=temp;   break;   } } for (int i=0; i<n; i++) {   if (a[i] !="duplicate")   duplicate++; } return duplicate; } bool subsequence (const string a1[], int n1, const string a2[], int n2) {   if (n1<0)   return false;   if(n2<0)   return false;   int start=0;   bool flag=false;   for (int i=0; i<n2; i++)   {     for (int j=start; j<n1; j++)     {       if (a2[i] == a1[j])       {         flag=true;         start=j+1;         break;       }     }     if (flag==false)     return false;     flag=false;   }   return true; } int makeMerger(const string a1[], int n1, const string a2[], int n2, string result[], int max){   if (n1<0)   return -1;   if (n2<0)   return -1;   if (n1+n2>max)   {     return -1;   }   int i=0;   int j=0;   int r=0;   for (; i<n1 && j<n2; r++)   {     if (a1[i]<=a2[j])     result[r]=a1[i++];     else     result[r]=a2[j++];   }   if (i==n1)   {     for(; j<n2; r++)     {       result[r]=a1[i++];     }   }   return r; } int divide(string a[], int n, string divider) {   if (n<0)   return -1;   int lessThanCounter=0;   for (int i=0; i<n; i++)   {     if (a[i]<divider)     lessThanCounter++;   }   int lessThan=0;   int greaterThan=lessThanCounter;   for (int i=0; i<lessThanCounter; i++)   {     if (a[i]=>divider)     {       string temp=a[greaterThan];       a[greaterThan]=a[i];       a[i]=temp;       i--;       greaterThan++;     }   }   return lessThanCounter; } int main() {   string h[7] = { "samwell", "jon", "margaery", "daenerys", "", "tyrion", "margaery" };   assert(enumerate(h, 7, "margaery") == 2);   assert(enumerate(h, 7, "") == 1);   assert(enumerate(h, 7, "sansa") == 0);   assert(enumerate(h, 0, "margaery") == 0);   assert(locate(h, 7, "margaery") == 2);   assert(locate(h, 2, "margaery") == -1);   int bg;   int en;   assert(locateSequence(h, 7, "daenerys", bg, en) && bg == 3 && en == 3);     string g[4] = { "samwell", "jon", "daenerys", "tyrion" };   assert(locationOfMin(g, 4) == 2);   assert(findDifference(h, 4, g, 4) == 2);   assert(subsequence(h, 7, g, 4));   assert(moveToEnd(g, 4, 1) == 1 && g[1] == "daenerys" && g[3] == "jon");     string f[4] = { "daenerys", "tyrion", "margaery", "jon" };   assert(moveToBeginning(f, 4, 2) == 2 && f[0] == "margaery" && f[2] == "tyrion");     string e[5] = { "daenerys", "daenerys", "daenerys", "margaery", "margaery" };   assert(removeDups(e, 5) == 2 && e[1] == "margaery");     string x[4] = { "cersei", "jon", "jon", "sansa" };   string y[4] = { "daenerys", "jon", "margaery", "tyrion" };   string z[10];   assert(makeMerger(x, 4, y, 4, z, 10) == 8 && z[5] == "margaery");     assert(divide(h, 7, "margaery") == 3);     cout << "All tests succeeded" << endl; }

My c++ code is not working and I cant figure out why #include<iostream> #include<string> #include<cassert> using namespace std;   int enumerate(const string [], int n, string target) {   if (n<0)   return -1;   int counter = 0;   for (int i=0; i<n; i++)   {     if (a[i]==target)     counter++;   }   return counter; } int locate(const string a[], int n, string target) {   if (n<0)   return -1;   for (int i=0; i<n; i++)   {     if (a[i]==target)     return i;   }   return -1; } bool locateSequence(const string a[], int n, string target, int& begin, int& end) {   bool flag=false;   if (n<0)   return false;   for (int i=0; i<n; i++)   {     if (a[i]==target&&flag==false)     end=i;   }   return flag; } int locationOfMin(const string a[], int n) {   int mindex=0;   if(n<=0)   return -1;   for (int i=0; i<n; i++)   {     if (a[i]<a[mIndex])     mIndex=i;   }   return mIndex; } int moveToEnd(string a[], int n, int pos){   if (n<0)   return-1;   for (int=pos; i<n-1; i++)   {     string temp=a[i+1];     a[i+1]=a[i];     a[i]=temp;   }   return pos; } int moveToBeginning(string a[], int n, int pos){   if (n<0)   return -1;   for (int i=pos; i>0; i==)   {     string temp=a(i-1);     a[i-1]=a[i];     a[i]=temp;   }   return pos; } int findDifference (const string a1[], int n1, const string a2[], int n2){   if (n1<o)   return -1;   if (n2<0)   return -1;   int temp=0;   for (int i=0; i<n1 && i<n2; i++)   {     if (a1[i] !=a2[i])     return i;     temp=i;   }   return temp; } int removeDups(string a[], int n)   {   if (n<0)   return -1;   int duplicate=0;   string duplicateString=a[0];   for (int i=1; i<n; i++)   {     if (a[i] == duplicateString)     a[i] = "duplicate";     else     duplicateString=a[i];   }   for (int i=0; i<n; i++)   {     while (a[i] !="duplicate"&& i<n-1)     {       i++;     }   for (int k=i+1; k<n; k++)   {     while (a[k] == "duplicate" && k<n-1)   {        k++;   }   string temp=a[k];   a[k]+a[i];   a[i]=temp;   break;   } } for (int i=0; i<n; i++) {   if (a[i] !="duplicate")   duplicate++; } return duplicate; } bool subsequence (const string a1[], int n1, const string a2[], int n2) {   if (n1<0)   return false;   if(n2<0)   return false;   int start=0;   bool flag=false;   for (int i=0; i<n2; i++)   {     for (int j=start; j<n1; j++)     {       if (a2[i] == a1[j])       {         flag=true;         start=j+1;         break;       }     }     if (flag==false)     return false;     flag=false;   }   return true; } int makeMerger(const string a1[], int n1, const string a2[], int n2, string result[], int max){   if (n1<0)   return -1;   if (n2<0)   return -1;   if (n1+n2>max)   {     return -1;   }   int i=0;   int j=0;   int r=0;   for (; i<n1 && j<n2; r++)   {     if (a1[i]<=a2[j])     result[r]=a1[i++];     else     result[r]=a2[j++];   }   if (i==n1)   {     for(; j<n2; r++)     {       result[r]=a1[i++];     }   }   return r; } int divide(string a[], int n, string divider) {   if (n<0)   return -1;   int lessThanCounter=0;   for (int i=0; i<n; i++)   {     if (a[i]<divider)     lessThanCounter++;   }   int lessThan=0;   int greaterThan=lessThanCounter;   for (int i=0; i<lessThanCounter; i++)   {     if (a[i]=>divider)     {       string temp=a[greaterThan];       a[greaterThan]=a[i];       a[i]=temp;       i--;       greaterThan++;     }   }   return lessThanCounter; } int main() {   string h[7] = { "samwell", "jon", "margaery", "daenerys", "", "tyrion", "margaery" };   assert(enumerate(h, 7, "margaery") == 2);   assert(enumerate(h, 7, "") == 1);   assert(enumerate(h, 7, "sansa") == 0);   assert(enumerate(h, 0, "margaery") == 0);   assert(locate(h, 7, "margaery") == 2);   assert(locate(h, 2, "margaery") == -1);   int bg;   int en;   assert(locateSequence(h, 7, "daenerys", bg, en) && bg == 3 && en == 3);     string g[4] = { "samwell", "jon", "daenerys", "tyrion" };   assert(locationOfMin(g, 4) == 2);   assert(findDifference(h, 4, g, 4) == 2);   assert(subsequence(h, 7, g, 4));   assert(moveToEnd(g, 4, 1) == 1 && g[1] == "daenerys" && g[3] == "jon");     string f[4] = { "daenerys", "tyrion", "margaery", "jon" };   assert(moveToBeginning(f, 4, 2) == 2 && f[0] == "margaery" && f[2] == "tyrion");     string e[5] = { "daenerys", "daenerys", "daenerys", "margaery", "margaery" };   assert(removeDups(e, 5) == 2 && e[1] == "margaery");     string x[4] = { "cersei", "jon", "jon", "sansa" };   string y[4] = { "daenerys", "jon", "margaery", "tyrion" };   string z[10];   assert(makeMerger(x, 4, y, 4, z, 10) == 8 && z[5] == "margaery");     assert(divide(h, 7, "margaery") == 3);     cout << "All tests succeeded" << endl; }

Subject:Computer SciencePrice: Bought3

My c++ code is not working and I cant figure out why

#include<iostream>

#include<string>

#include<cassert>

using namespace std;

 

int enumerate(const string [], int n, string target) {

  if (n<0)

  return -1;

  int counter = 0;

  for (int i=0; i<n; i++)

  {

    if (a[i]==target)

    counter++;

  }

  return counter;

}

int locate(const string a[], int n, string target)

{

  if (n<0)

  return -1;

  for (int i=0; i<n; i++)

  {

    if (a[i]==target)

    return i;

  }

  return -1;

}

bool locateSequence(const string a[], int n, string target, int& begin, int& end) {

  bool flag=false;

  if (n<0)

  return false;

  for (int i=0; i<n; i++)

  {

    if (a[i]==target&&flag==false)

    end=i;

  }

  return flag;

}

int locationOfMin(const string a[], int n)

{

  int mindex=0;

  if(n<=0)

  return -1;

  for (int i=0; i<n; i++)

  {

    if (a[i]<a[mIndex])

    mIndex=i;

  }

  return mIndex;

}

int moveToEnd(string a[], int n, int pos){

  if (n<0)

  return-1;

  for (int=pos; i<n-1; i++)

  {

    string temp=a[i+1];

    a[i+1]=a[i];

    a[i]=temp;

  }

  return pos;

}

int moveToBeginning(string a[], int n, int pos){

  if (n<0)

  return -1;

  for (int i=pos; i>0; i==)

  {

    string temp=a(i-1);

    a[i-1]=a[i];

    a[i]=temp;

  }

  return pos;

}

int findDifference (const string a1[], int n1, const string a2[], int n2){

  if (n1<o)

  return -1;

  if (n2<0)

  return -1;

  int temp=0;

  for (int i=0; i<n1 && i<n2; i++)

  {

    if (a1[i] !=a2[i])

    return i;

    temp=i;

  }

  return temp;

}

int removeDups(string a[], int n)

  {

  if (n<0)

  return -1;

  int duplicate=0;

  string duplicateString=a[0];

  for (int i=1; i<n; i++)

  {

    if (a[i] == duplicateString)

    a[i] = "duplicate";

    else

    duplicateString=a[i];

  }

  for (int i=0; i<n; i++)

  {

    while (a[i] !="duplicate"&& i<n-1)

    {

      i++;

    }

  for (int k=i+1; k<n; k++)

  {

    while (a[k] == "duplicate" && k<n-1)

  {   

    k++;

  }

  string temp=a[k];

  a[k]+a[i];

  a[i]=temp;

  break;

  }

}

for (int i=0; i<n; i++)

{

  if (a[i] !="duplicate")

  duplicate++;

}

return duplicate;

}

bool subsequence (const string a1[], int n1, const string a2[], int n2)

{

  if (n1<0)

  return false;

  if(n2<0)

  return false;

  int start=0;

  bool flag=false;

  for (int i=0; i<n2; i++)

  {

    for (int j=start; j<n1; j++)

    {

      if (a2[i] == a1[j])

      {

        flag=true;

        start=j+1;

        break;

      }

    }

    if (flag==false)

    return false;

    flag=false;

  }

  return true;

}

int makeMerger(const string a1[], int n1, const string a2[], int n2, string result[], int max){

  if (n1<0)

  return -1;

  if (n2<0)

  return -1;

  if (n1+n2>max)

  {

    return -1;

  }

  int i=0;

  int j=0;

  int r=0;

  for (; i<n1 && j<n2; r++)

  {

    if (a1[i]<=a2[j])

    result[r]=a1[i++];

    else

    result[r]=a2[j++];

  }

  if (i==n1)

  {

    for(; j<n2; r++)

    {

      result[r]=a1[i++];

    }

  }

  return r;

}

int divide(string a[], int n, string divider)

{

  if (n<0)

  return -1;

  int lessThanCounter=0;

  for (int i=0; i<n; i++)

  {

    if (a[i]<divider)

    lessThanCounter++;

  }

  int lessThan=0;

  int greaterThan=lessThanCounter;

  for (int i=0; i<lessThanCounter; i++)

  {

    if (a[i]=>divider)

    {

      string temp=a[greaterThan];

      a[greaterThan]=a[i];

      a[i]=temp;

      i--;

      greaterThan++;

    }

  }

  return lessThanCounter;

}

int main()

{

  string h[7] = { "samwell", "jon", "margaery", "daenerys", "", "tyrion", "margaery" };

  assert(enumerate(h, 7, "margaery") == 2);

  assert(enumerate(h, 7, "") == 1);

  assert(enumerate(h, 7, "sansa") == 0);

  assert(enumerate(h, 0, "margaery") == 0);

  assert(locate(h, 7, "margaery") == 2);

  assert(locate(h, 2, "margaery") == -1);

  int bg;

  int en;

  assert(locateSequence(h, 7, "daenerys", bg, en) && bg == 3 && en == 3);

 

  string g[4] = { "samwell", "jon", "daenerys", "tyrion" };

  assert(locationOfMin(g, 4) == 2);

  assert(findDifference(h, 4, g, 4) == 2);

  assert(subsequence(h, 7, g, 4));

  assert(moveToEnd(g, 4, 1) == 1 && g[1] == "daenerys" && g[3] == "jon");

 

  string f[4] = { "daenerys", "tyrion", "margaery", "jon" };

  assert(moveToBeginning(f, 4, 2) == 2 && f[0] == "margaery" && f[2] == "tyrion");

 

  string e[5] = { "daenerys", "daenerys", "daenerys", "margaery", "margaery" };

  assert(removeDups(e, 5) == 2 && e[1] == "margaery");

 

  string x[4] = { "cersei", "jon", "jon", "sansa" };

  string y[4] = { "daenerys", "jon", "margaery", "tyrion" };

  string z[10];

  assert(makeMerger(x, 4, y, 4, z, 10) == 8 && z[5] == "margaery");

 

  assert(divide(h, 7, "margaery") == 3);

 

  cout << "All tests succeeded" << endl;

}

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE