• Jun 17, 2024 •oceantran27
0 likes • 3 views
#include <iostream> using namespace std; int main { cout << 1; }
• Jun 30, 2023 •Iceman_71
0 likes • 8 views
#include <iostream> using namespace std; int main() { int arr[] = {5, 1, 4, 20, 10, 2, 13, 11, 6, 21}; int greed[] = {0, 0, 0, 0}; int k = 0; int i; int set_index; while (k < 4) { i = 0; while (i < 10) { if (arr[i] > greed[k]) { greed[k] = arr[i]; set_index = i; } i++; } arr[set_index] = 0; k++; } cout << greed[0] << " " << greed[1] << " " << greed[2] << " " << greed[3] << endl; }
• Nov 18, 2022 •AustinLeath
#include <string> #include <iostream> #include "PlaylistNode.h" using namespace std; PlaylistNode::PlaylistNode() { uniqueID = "none"; songName = "none"; artistName = "none"; songLength = 0; nextNodePtr = 0; } PlaylistNode::PlaylistNode(string uniqueID_, string songName_, string artistName_, int songLength_) { uniqueID = uniqueID_; songName = songName_; artistName = artistName_; songLength = songLength_; nextNodePtr = 0; } void PlaylistNode::InsertAfter(PlaylistNode* ptr) { this->SetNext(ptr->GetNext()); ptr->SetNext(this); } void PlaylistNode::SetNext(PlaylistNode* ptr) { nextNodePtr = ptr; } string PlaylistNode::GetID() { return uniqueID; } string PlaylistNode::GetSongName() { return songName; } string PlaylistNode::GetArtistName() { return artistName; } int PlaylistNode::GetSongLength() { return songLength; } PlaylistNode* PlaylistNode::GetNext() { return nextNodePtr; } void PlaylistNode::PrintPlaylistNode() { cout << "Unique ID: " << uniqueID << endl; cout << "Song Name: " << songName << endl; cout << "Artist Name: " << artistName << endl; cout << "Song Length (in seconds): " << songLength << endl; } Playlist::Playlist() { head = tail = 0; } void Playlist::AddSong(string id, string songname, string artistname, int length) { PlaylistNode* n = new PlaylistNode(id, songname, artistname, length); if (head == 0) { head = tail = n; } else { n->InsertAfter(tail); tail = n; } } bool Playlist::RemoveSong(string id) { if (head == NULL) { cout << "Playlist is empty" << endl; return false; } PlaylistNode* curr = head; PlaylistNode* prev = NULL; while (curr != NULL) { if (curr->GetID() == id) { break; } prev = curr; curr = curr->GetNext(); } if (curr == NULL) { cout << "\"" << curr->GetSongName() << "\" is not found" << endl; return false; } else { if (prev != NULL) { prev ->SetNext(curr->GetNext()); } else { head = curr->GetNext(); } if (tail == curr) { tail = prev; } cout << "\"" << curr->GetSongName() << "\" removed." << endl; delete curr; return true; } } bool Playlist::ChangePosition(int oldPos, int newPos) { if (head == NULL) { cout << "Playlist is empty" << endl; return false; } PlaylistNode* prev = NULL; PlaylistNode* curr = head; int pos; if (head == NULL || head == tail) { return false; } for (pos = 1; curr != NULL && pos < oldPos; pos++) { prev = curr; curr = curr->GetNext(); } if (curr != NULL) { string currentSong = curr->GetSongName(); if (prev == NULL) { head = curr->GetNext(); } else { prev->SetNext(curr->GetNext()); } if (curr == tail) { tail = prev; } PlaylistNode* curr1 = curr; prev = NULL; curr = head; for (pos = 1; curr != NULL && pos < newPos; pos++) { prev = curr; curr = curr->GetNext(); } if (prev == NULL) { curr1->SetNext(head); head = curr1; } else { curr1->InsertAfter(prev); } if (curr == NULL) { tail = curr1; } cout << "\"" << currentSong << "\" moved to position " << newPos << endl; return true; } else { cout << "Song's current position is invalid" << endl; return false; } } void Playlist::SongsByArtist(string artist) { if (head == NULL) { cout << "Playlist is empty" << endl; } else { PlaylistNode* curr = head; int i = 1; while (curr != NULL) { if (curr->GetArtistName() == artist) { cout << endl << i << "." << endl; curr->PrintPlaylistNode(); } curr = curr->GetNext(); i++; } } } int Playlist::TotalTime() { int total = 0; PlaylistNode* curr = head; while (curr != NULL) { total += curr->GetSongLength(); curr = curr->GetNext(); } return total; } void Playlist::PrintList() { if (head == NULL) { cout << "Playlist is empty" << endl; } else { PlaylistNode* curr = head; int i = 1; while (curr != NULL) { cout << endl << i++ << "." << endl; curr->PrintPlaylistNode(); curr = curr->GetNext(); } } }
• Jul 30, 2023 •LeifMessinger
1 like • 6 views
//Constant prefix notation solver using bruh //Could make it infix or postfix later #include<string> #include<vector> #include<iostream> std::vector<long double> bruhBuff; long double operator ""bruh(long double a){ bruhBuff.push_back(a); return a; } long double operator ""bruh(const char op){ if(bruhBuff.size() < 2) throw "Bruh weak"; long double b = bruhBuff.back(); bruhBuff.pop_back(); long double a = bruhBuff.back(); bruhBuff.pop_back(); switch(op){ case (int)('+'): return a + b; case (int)('-'): return a - b; case (int)('*'): return a * b; case (int)('/'): return a / b; } return 69l; } int main(){ 1.0bruh; 2.0bruh; std::cout << '+'bruh << std::endl; return 0; }
• Sep 3, 2023 •AustinLeath
0 likes • 11 views
#include "stdio.h" #include <stdlib.h> int main (int argCount, char** args) { int a = atoi(args[1]); int b = atoi(args[2]); unsigned int sum = 0; unsigned int p = 1; for (unsigned int i = 1; i < b; i++) { p = p * i; } // (b!, (1 + b)!, (2 + b)!, ..., (n + b)!) for (unsigned int i = 0; i < a; i++) { p = p * (i + b); sum = sum + p; } printf("y: %u\n", sum); return 0; }
• Oct 23, 2022 •LeifMessinger
0 likes • 1 view
//Leif Messinger //Finds all sets of 5 5 letter words that don't have duplicate letters in either themselves or each other. //First it reads the words in and puts them in groups of their bitmasks //After that, we recurse on each group. Before doing that, we remove the group from the set of other groups to check it against. #include <cstdio> //getchar, printf #include <cassert> //assert #include <vector> #include <set> #include <algorithm> //std::copy_if #include <iterator> //std::back_inserter #define CHECK_FOR_CRLF true #define MIN_WORDS 5 #define MAX_WORDS 5 #define WORD_TOO_LONG(len) (len != 5) const unsigned int charToBitmask(const char bruh){ assert(bruh >= 'a' && bruh <= 'z'); return (1 << (bruh - 'a')); } void printBitmask(unsigned int bitmask){ char start = 'a'; while(bitmask != 0){ if(bitmask & 1){ putchar(start); } bitmask >>= 1; ++start; } } //Pointer needs to be deleted const std::set<unsigned int>* getBitmasks(){ std::set<unsigned int>* bitmasksPointer = new std::set<unsigned int>; std::set<unsigned int>& bitmasks = (*bitmasksPointer); unsigned int bitmask = 0; unsigned int wordLength = 0; bool duplicateLetters = false; for(char c = getchar(); c >= 0; c = getchar()){ if(CHECK_FOR_CRLF && c == '\r'){ continue; } if(c == '\n'){ if(!(WORD_TOO_LONG(wordLength) || duplicateLetters)) bitmasks.insert(bitmask); bitmask = 0; wordLength = 0; duplicateLetters = false; continue; } if((bitmask & charToBitmask(c)) != 0) duplicateLetters = true; bitmask |= charToBitmask(c); ++wordLength; } return bitmasksPointer; } void printBitmasks(const std::vector<unsigned int>& bitmasks){ for(unsigned int bruh : bitmasks){ printBitmask(bruh); putchar(','); putchar(' '); } puts(""); } //Just to be clear, when I mean "word", I mean a group of words with the same letters. void recurse(std::vector<unsigned int>& oldBitmasks, std::vector<unsigned int> history, const unsigned int currentBitmask){ //If there's not enough words left if(oldBitmasks.size() + (-(history.size())) + (-MIN_WORDS) <= 0){ //If there's enough words if(history.size() >= MIN_WORDS){ //Print the list printBitmasks(history); } return; //To make it faster, we can stop it after 5 words too }else if(history.size() >= MAX_WORDS){ //Print the list printBitmasks(history); return; } //Thin out the array with only stuff that matches the currentBitmask. std::vector<unsigned int> newBitmasks; std::copy_if(oldBitmasks.begin(), oldBitmasks.end(), std::back_inserter(newBitmasks), [¤tBitmask](unsigned int bruh){ return (bruh & currentBitmask) == 0; }); while(newBitmasks.size() > 0){ //I know this modifies 'oldBitmasks' too. It's intentional. //This makes it so that the word is never involved in any of the child serches or any of the later searches in this while loop. const unsigned int word = newBitmasks.back(); newBitmasks.pop_back(); std::vector<unsigned int> newHistory = history; newHistory.push_back(word); recurse(newBitmasks, newHistory, currentBitmask | word); } } int main(){ const std::set<unsigned int>* bitmasksSet = getBitmasks(); std::vector<unsigned int> bitmasks(bitmasksSet->begin(), bitmasksSet->end()); delete bitmasksSet; recurse(bitmasks, std::vector<unsigned int>(), 0); return 0; }