• 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; }
• Nov 18, 2022 •AustinLeath
0 likes • 1 view
/* Algorithm: Step 1: Get radius of the cylinder from the user and store in variable r Step 2: Get height of the cylinder from the user and store in variable h Step 3: Multiply radius * radius * height * pi and store in v Step 4: Display the volume */ #include <iostream> using namespace std; int main() { float r; //define variable for radius float h; //define variable for height float v; float pi; pi=3.1416; cout<<"Enter radius:"; cin>>r; cout<<"Enter height:"; cin>>h; v=r*r*h*pi; //compute volume cout<<"Radius:"<<r<<"\tHeight:"<<h<<endl; //display radius and height cout<<"\n************************\n"; cout<<"Volume:"<<v<<endl;//display volume return 0; }
• Oct 23, 2022 •LeifMessinger
//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; }
1 like • 9 views
#include <iostream> using namespace std; int main() { int arr[5]; for(int i = 0; i < 5; i++) { arr[i] = i; } for(int i = 0; i < 5; i++) { cout << "Outputting array info at position " << i + 1 << ": " << arr[i] << endl; } for(int i=0;i<5;i++) { for(int j=i+1;j<5;j++) { if(arr[i]>arr[j]) { int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } cout << endl; for(int i = 0; i < 5; i++) { cout << "Outputting sorted array info at position " << i + 1 << ": " << arr[i] << endl; } return 0; }
• Aug 31, 2020 •joshwrou
1 like • 3 views
#include <iostream> using namespace std; int main() { cout << "Hello World!\n"; // Prints out "Hello World" return 0; }
• 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; }