Can someone help me with this please:
#include <iostream>
#include <cstdlib>
#include <string>
#include <cstring>
using namespace std;
#define ARSIZ 150000
int debug=0;
void dump(int ar[], int len)
{
for(int i=0; i<len; i++)
{
cout<<" DUMP: data = : "<< ar[i] << endl;
}
}
void sort(int *ar, int length)
{
if(length == 1 || length == 0) return;
cout << "BREAKING DOWN: " << endl;
//for(int i=0; i<length; i++)
// cout << " DUMP: DATA = : " << ar[i] << endl;
int left_length = length/2, right_length = length -
(length/2);
int left_list[left_length], right_list[right_length];
for(int i=0; i<right_length; i++)
right_list[i] = ar[i + left_length];
for(int i=0; i<left_length; i++)
left_list[i] = ar[i];
cout << "left = " << endl;
for(int i=0; i<left_length; i++)
cout << " DUMP: data = : " << right_list[i] << endl;
sort(left_list, left_length);
sort(right_list, right_length);
int left_index = 0, right_index = 0;
while(left_index + right_index < length)
{
if(left_list[left_index] < right_list[right_index])
{
if(left_index <left_length)
{
ar[left_index + right_index] = left_list[left_index];
left_index++;
}
else
{
ar[left_index + right_index] = right_list[right_index];
right_index++;
}
}
else
{
if(right_index < right_length)
{
ar[left_index + right_index] = right_list[right_index];
right_index++;
}
else
{
ar[left_index + right_index] = left_list[left_index];
left_index++;
}
}
}
cout << "MERGED: list :" << endl;
for (int i=0; i<length; i++)
cout << " DUMP: data = : " << ar[i] << endl;
}
int main(int argc, char **argv)
{
int ar[ARSIZ];
int i, v, len;
if ((argc == 2) && (strstr(argv[1],"debug"))) debug = 1;
for (i=0; i<ARSIZ; i++) {
cin >> v;
if (v < 0) break;
ar[i] = v;
}
len = i;
cout << "main: before sort:\n";
for (i=0; i<len; i++) {
cout << "main: ar[" << i << "] = " << ar[i]
<< endl;
}
sort(ar, len);
cout << "\nmain: after sort:\n";
for (i=0; i<len; i++) {
cout << "main: ar[" << i << "] = " << ar[i]
<< endl;
}
}
And this is what it should print out:
[sigala@cs lab8]$ cat nums.7
3
0
4
2
5
1
6
-1
[sigala@cs lab8-msort]$ lab8 < nums.7
main: before sort:
main: ar[0] = 3
main: ar[1] = 0
main: ar[2] = 4
main: ar[3] = 2
main: ar[4] = 5
main: ar[5] = 1
main: ar[6] = 6
main: after sort:
main: ar[0] = 0
main: ar[1] = 1
main: ar[2] = 2
main: ar[3] = 3
main: ar[4] = 4
main: ar[5] = 5
main: ar[6] = 6
[sigala@cs lab8]$ lab8 debug < nums.7
main: before sort:
main: ar[0] = 3
main: ar[1] = 0
main: ar[2] = 4
main: ar[3] = 2
main: ar[4] = 5
main: ar[5] = 1
main: ar[6] = 6
BREAKING DOWN:
DUMP: data = : 3
DUMP: data = : 0
DUMP: data = : 4
DUMP: data = : 2
DUMP: data = : 5
DUMP: data = : 1
DUMP: data = : 6
left =
DUMP: data = : 3
DUMP: data = : 0
DUMP: data = : 4right =
DUMP: data = : 2
DUMP: data = : 5
DUMP: data = : 1
DUMP: data = : 6
BREAKING DOWN:
DUMP: data = : 3
DUMP: data = : 0
DUMP: data = : 4
left =
DUMP: data = : 3
right =
DUMP: data = : 0
DUMP: data = : 4
BREAKING DOWN:
DUMP: data = : 0
DUMP: data = : 4
left =
DUMP: data = : 0
right =
DUMP: data = : 4
MERGED: list:
DUMP: data = : 0
DUMP: data = : 4
MERGED: list:
DUMP: data = : 0
DUMP: data = : 3
DUMP: data = : 4
BREAKING DOWN:
DUMP: data = : 2
DUMP: data = : 5
DUMP: data = : 1
DUMP: data = : 6
left =
DUMP: data = : 2
DUMP: data = : 5
right =
DUMP: data = : 1
DUMP: data = : 6
BREAKING DOWN:
DUMP: data = : 2
DUMP: data = : 5
left =
DUMP: data = : 2
right =
DUMP: data = : 5
MERGED: list:
DUMP: data = : 2
DUMP: data = : 5
BREAKING DOWN:
DUMP: data = : 1
DUMP: data = : 6
left =
DUMP: data = : 1
right =
DUMP: data = : 6
MERGED: list:
DUMP: data = : 1
DUMP: data = : 6
MERGED: list:
DUMP: data = : 1
DUMP: data = : 2
DUMP: data = : 5
DUMP: data = : 6
MERGED: list:
DUMP: data = : 0
DUMP: data = : 1
DUMP: data = : 2
DUMP: data = : 3
DUMP: data = : 4
DUMP: data = : 5
DUMP: data = : 6
main: after sort:
main: ar[0] = 0
main: ar[1] = 1
main: ar[2] = 2
main: ar[3] = 3
main: ar[4] = 4
main: ar[5] = 5
main: ar[6] = 6
But for some reason is not in order, help please.

#include <iostream>
#include <cstdlib>
#include <string>
#include <cstring>
using namespace std;
#define ARSIZ 150000
int debug = 0;
void dump(int ar[], int len)
{
for (int i = 0; i < len; i++) {
cout << " DUMP: data = : " << ar[i] << endl;
}
}
void sort(int* ar, int length)
{
if (length == 1 || length == 0)
return;
cout << "BREAKING DOWN: " << endl;
//for(int i=0; i<length; i++)
// cout << " DUMP: DATA = : " << ar[i] << endl;
int left_length = length / 2, right_length = length - (length / 2);
int left_list[left_length], right_list[right_length];
for (int i = 0; i < left_length; i++)
left_list[i] = ar[i];
for (int i = 0; i < right_length; i++)
right_list[i] = ar[i + left_length];
cout << "left = " << endl;
dump(left_list, left_length);
cout << "right = " << endl;
dump(right_list, right_length);
sort(left_list, left_length);
sort(right_list, right_length);
int left_index = 0, right_index = 0;
int out_index = 0;
while ((left_index < left_length) && (right_index < right_length)) {
if (left_list[left_index] < right_list[right_index]) {
ar[out_index++] = left_list[left_index++];
} else if(left_list[left_index] > right_list[right_index]) {
ar[out_index++] = right_list[right_index++];
} else {
ar[out_index++] = left_list[left_index++];
ar[out_index++] = right_list[right_index++];
}
}
// Its possible that one of the list is still remaining
while(left_index < left_length) {
ar[out_index++] = left_list[left_index++];
}
while(right_index < right_length) {
ar[out_index++] = right_list[right_index++];
}
cout << "MERGED: list :" << endl;
for (int i = 0; i < length; i++)
cout << " DUMP: data = : " << ar[i] << endl;
}
int main(int argc, char** argv)
{
int ar[ARSIZ];
int i, v, len;
if ((argc == 2) && (strstr(argv[1], "debug")))
debug = 1;
for (i = 0; i < ARSIZ; i++) {
cin >> v;
if (v < 0)
break;
ar[i] = v;
}
len = i;
cout << "main: before sort:\n";
for (i = 0; i < len; i++) {
cout << "main: ar[" << i << "] = " << ar[i] << endl;
}
sort(ar, len);
cout << "\nmain: after sort:\n";
for (i = 0; i < len; i++) {
cout << "main: ar[" << i << "] = " << ar[i] << endl;
}
}
please upvote. Thanks!
Can someone help me with this please: #include <iostream> #include <cstdlib> #include <string> #include <cstring> using namespace std; #define ARSIZ 150000 int debug=0; void du...
I need help with this code:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
void dump(int ar[], int size)
{
cout << "\nDUMP [ ";
for (int i=0; i<=size; i++)
{
cout << ar[i] << " ";
}
cout << "]\n\n";
}
void quicksort(int ar[], int start, int end)
{
cout << "TOP OF SORT ===========================" <<
endl;
dump(ar, start, end);
int pivot = ar[end];
int left = start;
int right = end - 1;
int tmp;
cout <<...
#include <iostream> #include <cstdlib> using namespace std; int **dynArray(int row, int cols) { int **myPtr; int lab[4]; myPtr = new int *[row]; for(int i = 0; i < row; i++) myPtr[i] = new int[lab[i]]; for(int i = 0; i<row ; i++) if(myPtr[i] == 0) cout<<"empty"; return myPtr; } void getinput(int ID,int &Station,int &labnumb) { cout<<" Enter your ID number: "<<endl; cin>>ID; cout<<" Enter your station number: "<<endl; cin>>Station; cout<<" Enter your lab number: "<<endl; cin>>labnumb; return; } void logout(int ID,int...
Consider the following C++ program: #include <iostream> #include <cstdlib> using namespace std; int main int n =0; int i = 0; cout << "Please enter a strictly positive number:"; cin >> n if (n <= 0) exit(EXIT_FAILURE) while (n > 1) n-n/2; i << endl; cout"Output:" return 0; Answer the following questions: What is the output of the program for each of the following values of n: -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9? What does...
can someone help me fix my jeopardy game #include<iostream> #include<stdlib.h> using namespace std; int rollDie() { return (rand() % 6+1); } void askYoNs(){ cout<<"Do you want to roll a dice (Y/N)?:"<<endl; } void printScores(int turnTotal,int humanTotal,int compTotal){ int player; int human; if(player==human){ cout<<"Your turn total is "<<turnTotal<<endl; } else{ cout<<"computer turn total is "<<turnTotal<<endl; } cout<<"computer: "<<compTotal<<endl; cout<<"human: "<<humanTotal<<endl; cout<<endl; } int human; int changePlayer(int player){ if(player==human) return 1; return human; } int process(int& turnTotal,int roll,int curr_player,int& humanTotal,int& computerTotal){ if(roll==2...
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class Node{
private:
int data;
Node* nextNodePtr;
public:
Node(){}
void setData(int d){
data = d;
}
int getData(){
return
data;
}
void setNextNodePtr(Node*
nodePtr){
nextNodePtr = nodePtr;
}
...
Rewrite this code in Java please #include <iostream> #include <fstream> #include <cstdlib> #include <ctime> using namespace std; long length = 1000; const long max_length = 100000; int list[max_length]; void read() { ifstream fin("random.dat", ios::binary); for (long i = 0; i < length; i++) { fin.read((char*)&list[i], sizeof(int)); } fin.close(); } void bubbleSort() { int temp; for(long i = 0; i < length; i++) { for(long j = 0; j< length-i-1; j++)...
#include<iostream> #include<string> #include<iomanip> using namespace std; /* ********* Class Car ************* ********************************* */ class Car { private: string reportingMark; int carNumber; string kind; bool loaded; string choice; string destination; public: Car() { reportingMark = ""; carNumber = 0; kind = "Others"; loaded = 0; destination = "NONE"; } ~Car() { } void setUpCar(string &reportingMark, int &carNumber, string &kind, bool &loaded, string &destination); }; void input(string &reportingMark, int &carNumber, string &kind, bool &loaded,string choice, string &destination); void output(string &reportingMark, int &carNumber,...
#include <iostream> #include <string> using std::string; using std::cout; using std::endl; void testAnswer(string testname, int answer, int expected) { if (answer == expected) cout << "PASSED: " << testname << " expected and returned " << answer << "\n"; else cout << "FAILED: " << testname << " returned " << answer << " but expected " << expected << "\n"; } // Implement printArray here void printArray(int array[],int b) { for(int i = 0; i<b;i++) { std::cout<< array[i] << "...
Please add a detailed comment for this program. #include<iostream> #include<string> #include<fstream> #include<sstream> #include<cctype> using namespace std; int is_palindrome(string word){ int len = word.size(); for(int i=0; i<len/2; i++){ if(toupper(word[i])!=toupper(word[len-i-1])) return 0; } return 1; } int have_vowels3(string word){ int cnt = 0; for(int i=0; i<word.size(); i++){ if(tolower(word[i])=='a' || tolower(word[i])=='e' || tolower(word[i])=='i' || tolower(word[i]) =='o' || tolower(word[i]) == 'u') cnt++; } if(cnt>=3) return 1; else return 0; } int have_consecutives(string word){ for(int i=0; i<word.size()-1; i++){ if(tolower(word[i])=='o' && tolower(word[i+1]=='o')) return 1; } return...
Explain the output of the following C++ program. #include <iostream> using namespace std; void Magic(int i=1, int j=2,int k=3, double product =1.0) { i+=2; j*=2; k/=2; product=i*j*k; } void Magic(int& i, int& j, double& product) { i+=2; j=j*2+2; product=i*j; } void Magic(int* i,int* j) { double product; *i+=2; *j=*j*2+2; product=*i * *j; } int main() { double product; int i=0,j=0,k=0; product=i*j*k; Magic(); cout<<"i, j, k and product in main () after 1st round:"<<endl<<i<<endl<<j<<endl<<k<<endl<<product<<endl; Magic(2,4); cout<<"i, j, k and...