Main function explanation

Posts 1–7 of 7 · Page 1 of 1
My Code doesn't work and i need help
So for some reason my macboook won't open images in a new tab so i will have to use a link, but i have an assignment C++
https://prnt.sc/inbi6u

This is the code ( it is available for one day before it expires)

https://pastebin.com/iHjkC18M


If anyone can kindly explain to me the code in the header file.
The program won't run because it's only a header file but is there a way to rewrite my reheapup and reheapdown file ?
im probably wrong but it seems main is setting 6 elements(wrong word i think) from the PQueue structure and just initializing(not right word) random numbers while the structure is pulling the largest number into top and then that number is being dequeued/eliminated from the heap. you never sent your code in the pm so i was completely lost. someone else will chime in and correct me where im wrong
Quote Originally Posted by gogogokitty View Post
im probably wrong but it seems main is setting 6 elements(wrong word i think) from the PQueue structure and just initializing(not right word) random numbers while the structure is pulling the largest number into top and then that number is being dequeued/eliminated from the heap. you never sent your code in the pm so i was completely lost. someone else will chime in and correct me where im wrong
I re asked my question and my code is in the link
Quote Originally Posted by Fliest_aladdin View Post
I re asked my question and my code is in the link
i said in your PM to me earlier
Quote Originally Posted by Hell_Demon View Post
Fixed the spacing and removed some incorrect closing brackets.

https://pastebin.com/SDhFCCCV

This worked fine when I coded it, are you getting incorrect results?
worked fine as well on my end, however this is homework so he needs an explanation of what its doing i believe
I have added comments where neccesary:
https://pastebin.com/raw/GbgGiPYf

Also realised there was an edge case in the reheapdown method, where the last remaining child could potentially be larger than its parent, but not get swapped.

To ensure people visiting in the future have access to the code(I always hate it when pastebin links turn up dead), here is a copy of the code encoded in base64, this way the search engines can't find it so you won't get flagged as cheater.

Code:
I2lmbmRlZiBQUVVFVUVfSA0KI2RlZmluZSBQUVVFVUVfSA0KIA0KY2xhc3MgUFF1ZXVlDQp7DQpwcml2YXRlOg0KICAgIGludCAqaGVhcDsNCiAgICBpbnQgc2l6ZTsNCiAgICBpbnQgYm90dG9tOw0KCXZvaWQgUmVIZWFwVXAoKTsNCiAgICB2b2lkIFJlSGVhcERvd24oKTsNCnB1YmxpYzoNCiAgICBQUXVldWUoaW50IHMpOw0KICAgIH5QUXVldWUoKTsNCiAgICB2b2lkIGVucXVldWUoaW50IGkpOw0KICAgIHZvaWQgZGVxdWV1ZSgpOw0KICAgIGludCB0b3AoKTsNCiAgIA0KfTsNCiANClBRdWV1ZTo6UFF1ZXVlKGludCBzKQ0Kew0KICAgIGhlYXAgPSBuZXcgaW50W3NdOw0KICAgIHNpemUgPSBzIC0gMTsNCiANCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHM7IGkrKykNCgkJaGVhcFtpXSA9IDA7DQogICAgYm90dG9tID0gLTE7DQp9DQogDQpQUXVldWU6On5QUXVldWUoKQ0Kew0KICAgIGRlbGV0ZVtdIGhlYXA7DQp9DQogDQp2b2lkIFBRdWV1ZTo6ZW5xdWV1ZShpbnQgaSkNCnsNCiAgICBpZiAoYm90dG9tID09IHNpemUpDQoJCXJldHVybjsNCiANCgkvLyBJbnNlcnQgdGhlIG51bWJlciBhdCB0aGUgYm90dG9tIG9mIHRoZSBoZWFwDQogICAgaGVhcFsrK2JvdHRvbV0gPSBpOw0KCQ0KCS8vIENhbGwgUmVIZWFwVXAgdG8gaGF2ZSBpdCBidWJibGUgdG8gdGhlIHRvcA0KICAgIFJlSGVhcFVwKCk7DQp9DQogDQp2b2lkIFBRdWV1ZTo6ZGVxdWV1ZSgpDQp7DQogICAgaWYgKGJvdHRvbSA9PSAtMSkNCgkJcmV0dXJuOw0KIA0KCS8vIFN3YXAgdGhlIHRvcCBhbmQgYm90dG9tIG51bWJlcg0KICAgIGludCB0ZW1wID0gaGVhcFswXTsNCiAgICBoZWFwWzBdID0gaGVhcFtib3R0b21dOw0KICAgIGhlYXBbYm90dG9tXSA9IHRlbXA7DQoJDQoJLy8gTW92ZSB0aGUgYm90dG9tIHRvd2FyZHMgdGhlIHRvcCBvZiB0aGUgaGVhcCB0byAiZHJvcCIgdGhlIHByZXZpb3VzIHRvcCBudW1iZXINCiAgICBib3R0b20tLTsNCgkNCgkNCgkvLyBDYWxsIFJlSGVhcERvd24gdG8gaGF2ZSB0aGUgaGVhcCByZXN0b3JlZCB0byBhIGNvcnJlY3Qgc3RhdGUNCiAgICBSZUhlYXBEb3duKCk7DQp9DQogDQppbnQgUFF1ZXVlOjp0b3AoKQ0Kew0KICAgIGlmIChib3R0b20gPT0gLTEpIC8vIFJldHVybnMgLTEgaWYgdGhlIHF1ZXVlIGlzIGVtcHR5DQoJCXJldHVybiAtMTsNCiANCiAgICByZXR1cm4gaGVhcFswXTsgLy8gT3RoZXIgd2lzZSByZXR1cm4gdGhlIHRvcCBlbGVtZW50DQp9DQogDQp2b2lkIFBRdWV1ZTo6UmVIZWFwRG93bigpDQp7DQogICAgaW50IGluZGV4ID0gMDsNCiAgICBpbnQgbGFyZ2VyX2NoaWxkOw0KIA0KCS8vIFRoaXMgaXMgYSBsYW1iZGEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBsZWZ0IGNoaWxkIG9mIHRoZSBjdXJyZW50IGluZGV4DQogICAgYXV0byBsZWZ0ID0gW10oaW50IGlkeCkgew0KCQlyZXR1cm4gKCgyKmlkeCkrMSk7DQogICAgfTsNCiANCgkvLyBUaGlzIGlzIGEgbGFtYmRhIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmlnaHQgY2hpbGQgb2YgdGhlIGN1cnJlbnQgaW5kZXgNCiAgICBhdXRvIHJpZ2h0ID0gW10oaW50IGlkeCkgew0KCQlyZXR1cm4gKCgyICogaWR4KSArIDIpOw0KICAgIH07DQoJDQoJLy8gVGhlIGxvb3AgY2hlY2tzIHR3byB0aGluZ3MsIGZpcnN0LCBpdCBjaGVja3MgaWYgd2UgaGF2ZSBib3RoIGEgbGVmdCBhbmQgYSByaWdodCBjaGlsZCBieSBtYWtpbmcgc3VyZSB0aGUgbGVmdCBjaGlsZCBpbmRleCBpcyBiZWxvdyB0aGUgYm90dG9tIG9mIHRoZSBoZWFwDQoJLy8gVGhlbiBpdCBhbHNvIGNoZWNrcyBpZiBlaXRoZXIgb2YgdGhlIGNoaWxkcmVuIGlzIGxhcmdlciB0aGFuIGl0J3MgcGFyZW50LCBiZWNhdXNlIHRoYXQgd291bGQgd2FycmFudCBhIHN3YXAuDQogICAgd2hpbGUgKGxlZnQoaW5kZXgpIDwgYm90dG9tICYmIChoZWFwW2luZGV4XSA8IGhlYXBbbGVmdChpbmRleCldIHx8IGhlYXBbaW5kZXhdIDwgaGVhcFtyaWdodChpbmRleCldKSkNCiAgICB7DQoJCWlmIChoZWFwW2xlZnQoaW5kZXgpXSA+IGhlYXBbcmlnaHQoaW5kZXgpXSkgLy8gSWYgdGhlIGxlZnQgY2hpbGQgaXMgbGFyZ2VyIHRoYW4gdGhlIHJpZ2h0LCB3ZSBzd2FwIG91dCB0aGUgbGVmdCBjaGlsZA0KCQkJbGFyZ2VyX2NoaWxkID0gbGVmdChpbmRleCk7DQoJCWVsc2UgLy8gb3RoZXJ3aXNlIHdlIHN3YXAgb3V0IHRoZSByaWdodCBjaGlsZA0KCQkJbGFyZ2VyX2NoaWxkID0gcmlnaHQoaW5kZXgpOw0KCSANCgkJLy8gU3dhcCB0aGUgbGFyZ2VzdCBjaGlsZCBmb3IgdGhlIGN1cnJlbnQgdmFsdWUgdG8gbW92ZSBpdCBkb3duIHRoZSBoZWFwDQoJCWludCB0ZW1wID0gaGVhcFtpbmRleF07DQoJCWhlYXBbaW5kZXhdID0gaGVhcFtsYXJnZXJfY2hpbGRdOw0KCQloZWFwW2xhcmdlcl9jaGlsZF0gPSB0ZW1wOw0KCQkNCgkJLy8gVGhlIGNoaWxkIGluZGV4IGlzIG5vdyB0aGUgbmV3IGluZGV4DQoJCWluZGV4ID0gbGFyZ2VyX2NoaWxkOw0KCX0NCgkNCgkvLyBpZiB3ZSBvbmx5IGhhdmUgYSBsZWZ0IGNoaWxkIHRoZW4gaXQncyBub3QgY2hlY2tlZCBieSB0aGUgYWJvdmUgbG9vcCwgYnV0IGluZGV4IGlzIG5vdCBuZWNlc2FyaWx5IHRoZSBsYXJnZXN0IHlldC4gSWYgdGhlIG9ubHkgY2hpbGQgaXMgbGFyZ2VyLCBzd2FwIGl0Lg0KCWlmKGxlZnQoaW5kZXgpID09IGJvdHRvbSAmJiBoZWFwW2luZGV4XSA8IGhlYXBbbGVmdChpbmRleCldKQ0KCXsNCgkJaW50IHRlbXAgPSBoZWFwW2luZGV4XTsNCgkJaGVhcFtpbmRleF0gPSBoZWFwW2JvdHRvbV07DQoJCWhlYXBbYm90dG9tXSA9IHRlbXA7DQoJfQ0KfQ0KDQp2b2lkIFBRdWV1ZTo6UmVIZWFwVXAoKQ0Kew0KCS8vIFRoaXMgaXMgYSBsYW1iZGEgdG8gZ2V0IHRoZSBwYXJlbnQgaW5kZXgNCiAgICBhdXRvIHBhcmVudCA9IFtdKGludCBpZHgpIHsNCgkJcmV0dXJuICgoaWR4IC0gMSkgLyAyKTsNCiAgICB9Ow0KIA0KICAgIGludCBpbmRleCA9IGJvdHRvbTsgLy8gU1RBUlRFRCBBVCBUSEUgQk9UVE9NIE5PVyBXRSBIRVJFDQogICAgd2hpbGUgKGhlYXBbaW5kZXhdID4gaGVhcFtwYXJlbnQoaW5kZXgpXSAmJiBwYXJlbnQoaW5kZXgpID49IDApIC8vIFNvIGxvbmcgYXMgdGhlIHBhcmVudCBpcyBub3QgImFib3ZlIiB0aGUgcm9vdCwgYW5kIHRoZSBjaGlsZCBpcyBsYXJnZXIgdGhhbiBpdHMgcGFyZW50DQoJew0KCQkvLyBTd2FwIHRoZSBwYXJlbnQgJiBjaGlsZA0KCQlpbnQgdGVtcCA9IGhlYXBbaW5kZXhdOw0KCQloZWFwW2luZGV4XSA9IGhlYXBbcGFyZW50KGluZGV4KV07DQoJCWhlYXBbcGFyZW50KGluZGV4KV0gPSB0ZW1wOw0KCQkNCgkJLy8gTW92ZSB0aGUgaW5kZXggdXANCgkJaW5kZXggPSBwYXJlbnQoaW5kZXgpOw0KICAgIH0NCn0NCiANCiNlbmRpZiAvKiBQUVVFVUVfSCAqLw==
Posts 1–7 of 7 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us