Initial commit with cleaned history

This commit is contained in:
2024-09-01 18:09:25 +02:00
commit 208004e9d0
273 changed files with 234697 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
// Logical operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user to agree
char c = get_char("Do you agree? ");
// Check whether agreed
if (c == 'Y' || c == 'y')
{
printf("Agreed.\n");
}
else if (c == 'N' || c == 'n')
{
printf("Not agreed.\n");
}
}
+16
View File
@@ -0,0 +1,16 @@
// Addition with int, allows for overflow
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
int x = get_int("x: ");
// Prompt user for y
int y = get_int("y: ");
// Perform addition
printf("%i\n", x + y);
}
+16
View File
@@ -0,0 +1,16 @@
// Addition with long
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Perform addition
printf("%li\n", x + y);
}
+16
View File
@@ -0,0 +1,16 @@
// Division with longs, demonstrating truncation
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Divide x by y
printf("%li\n", x / y);
}
+17
View File
@@ -0,0 +1,17 @@
// Division with longs, demonstrating truncation
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Divide x by y
float z = x / y;
printf("%f\n", z);
}
+17
View File
@@ -0,0 +1,17 @@
// Division with longs, demonstrating type casting
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Divide x by y
float z = (float) x / (float) y;
printf("%f\n", z);
}
+17
View File
@@ -0,0 +1,17 @@
// Division with longs, demonstrating floating-point imprecision
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Divide x by y
float z = (float) x / (float) y;
printf("%.20f\n", z);
}
+17
View File
@@ -0,0 +1,17 @@
// Division with longs, demonstrating double
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for x
long x = get_long("x: ");
// Prompt user for y
long y = get_long("y: ");
// Divide x by y
double z = (double) x / (double) y;
printf("%.20f\n", z);
}
+17
View File
@@ -0,0 +1,17 @@
// Conditionals, Boolean expressions, relational operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for integers
int x = get_int("What's x? ");
int y = get_int("What's y? ");
// Compare integers
if (x < y)
{
printf("x is less than y\n");
}
}
+21
View File
@@ -0,0 +1,21 @@
// Conditionals, Boolean expressions, relational operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for integers
int x = get_int("What's x? ");
int y = get_int("What's y? ");
// Compare integers
if (x < y)
{
printf("x is less than y\n");
}
else
{
printf("x is not less than y\n");
}
}
+25
View File
@@ -0,0 +1,25 @@
// Conditionals, Boolean expressions, relational operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for integers
int x = get_int("What's x? ");
int y = get_int("What's y? ");
// Compare integers
if (x < y)
{
printf("x is less than y\n");
}
else if (x > y)
{
printf("x is greater than y\n");
}
else if (x == y)
{
printf("x is equal to y\n");
}
}
+25
View File
@@ -0,0 +1,25 @@
// Conditionals, Boolean expressions, relational operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for integers
int x = get_int("What's x? ");
int y = get_int("What's y? ");
// Compare integers
if (x < y)
{
printf("x is less than y\n");
}
else if (x > y)
{
printf("x is greater than y\n");
}
else
{
printf("x is equal to y\n");
}
}
+15
View File
@@ -0,0 +1,15 @@
// Counting
#include <stdbool.h>
#include <stdio.h>
#include <unistd.h>
int main(void)
{
int i = 0;
while (true)
{
printf("\r%i", i);
i++;
}
}
+14
View File
@@ -0,0 +1,14 @@
// Counting
#include <stdbool.h>
#include <stdio.h>
int main(void)
{
int i = 0;
while (true)
{
printf("\r%i", i);
i++;
}
}
+8
View File
@@ -0,0 +1,8 @@
// A program that says hello to the world
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
}
+10
View File
@@ -0,0 +1,10 @@
// get_string and printf with incorrect placeholder
#include <cs50.h>
#include <stdio.h>
int main(void)
{
string answer = get_string("What's your name? ");
printf("hello, answer\n");
}
+10
View File
@@ -0,0 +1,10 @@
// get_string and printf with %s
#include <cs50.h>
#include <stdio.h>
int main(void)
{
string answer = get_string("What's your name? ");
printf("hello, %s\n", answer);
}
+8
View File
@@ -0,0 +1,8 @@
// Prints a row of 4 question marks
#include <stdio.h>
int main(void)
{
printf("????\n");
}
+12
View File
@@ -0,0 +1,12 @@
// Prints a row of 4 question marks with a loop
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 4; i++)
{
printf("?");
}
printf("\n");
}
+11
View File
@@ -0,0 +1,11 @@
// Prints a column of 3 bricks with a loop
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 3; i++)
{
printf("#\n");
}
}
+15
View File
@@ -0,0 +1,15 @@
// Prints a 3-by-3 grid of bricks with nested loops
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf("#");
}
printf("\n");
}
}
+16
View File
@@ -0,0 +1,16 @@
// Prints a 3-by-3 grid of bricks with nested loops using a constant
#include <stdio.h>
int main(void)
{
const int n = 3;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
+18
View File
@@ -0,0 +1,18 @@
// Prints an n-by-n grid of bricks with nested loops
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int n = get_int("Size: ");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
+22
View File
@@ -0,0 +1,22 @@
// Prints an n-by-n grid of bricks, re-prompting user for positive integer
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int n = get_int("Size: ");
while (n < 1)
{
n = get_int("Size: ");
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
+25
View File
@@ -0,0 +1,25 @@
// Prints an n-by-n grid of bricks, re-prompting user for positive integer
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Get size of grid
int n;
do
{
n = get_int("Size: ");
}
while (n < 1);
// Print grid of bricks
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
+36
View File
@@ -0,0 +1,36 @@
// Prints an n-by-n grid of bricks, re-prompting user for positive integer
#include <cs50.h>
#include <stdio.h>
int get_size(void);
void print_grid(int n);
int main(void)
{
int n = get_size();
print_grid(n);
}
int get_size(void)
{
int n;
do
{
n = get_int("Size: ");
}
while (n < 1);
return n;
}
void print_grid(int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
+10
View File
@@ -0,0 +1,10 @@
// Opportunity for better design
#include <stdio.h>
int main(void)
{
printf("meow\n");
printf("meow\n");
printf("meow\n");
}
+13
View File
@@ -0,0 +1,13 @@
// Better design
#include <stdio.h>
int main(void)
{
int i = 0;
while (i < 3)
{
printf("meow\n");
i++;
}
}
+11
View File
@@ -0,0 +1,11 @@
// Better design
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 3; i++)
{
printf("meow\n");
}
}
+19
View File
@@ -0,0 +1,19 @@
// Abstraction
#include <stdio.h>
void meow(void);
int main(void)
{
for (int i = 0; i < 3; i++)
{
meow();
}
}
// Meow once
void meow(void)
{
printf("meow\n");
}
+19
View File
@@ -0,0 +1,19 @@
// Abstraction with parameterization
#include <stdio.h>
void meow(int n);
int main(void)
{
meow(3);
}
// Meow some number of times
void meow(int n)
{
for (int i = 0; i < n; i++)
{
printf("meow\n");
}
}
+24
View File
@@ -0,0 +1,24 @@
// Conditionals, Boolean expressions, relational operators
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for points
int points = get_int("How many points did you lose? ");
// Compare points against mine
if (points < 2)
{
printf("You lost fewer points than me.\n");
}
else if (points > 2)
{
printf("You lost more points than me.\n");
}
else if (points == 2)
{
printf("You lost the same number of points as me.\n");
}
}
+24
View File
@@ -0,0 +1,24 @@
// Design
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Prompt user for points
int points = get_int("How many points did you lose? ");
// Compare points against mine
if (points < 2)
{
printf("You lost fewer points than me.\n");
}
else if (points > 2)
{
printf("You lost more points than me.\n");
}
else
{
printf("You lost the same number of points as me.\n");
}
}
+27
View File
@@ -0,0 +1,27 @@
// Constants
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// Number of points that I lost
const int MINE = 2;
// Prompt user for points
int points = get_int("How many points did you lose? ");
// Compare points against mine
if (points < MINE)
{
printf("You lost fewer points than me.\n");
}
else if (points > MINE)
{
printf("You lost more points than me.\n");
}
else
{
printf("You lost the same number of points as me.\n");
}
}
+76
View File
@@ -0,0 +1,76 @@
#include <cs50.h>
#include <stdio.h>
int get_cents(void);
int calculate_quarters(int cents);
int calculate_dimes(int cents);
int calculate_nickels(int cents);
int calculate_pennies(int cents);
int main(void)
{
// Ask how many cents the customer is owed
int cents = get_cents();
// Calculate the number of quarters to give the customer
int quarters = calculate_quarters(cents);
cents = cents - quarters * 25;
// Calculate the number of dimes to give the customer
int dimes = calculate_dimes(cents);
cents = cents - dimes * 10;
// Calculate the number of nickels to give the customer
int nickels = calculate_nickels(cents);
cents = cents - nickels * 5;
// Calculate the number of pennies to give the customer
int pennies = calculate_pennies(cents);
cents = cents - pennies * 1;
// Sum coins
int coins = quarters + dimes + nickels + pennies;
// Print total number of coins to give the customer
printf("%i\n", coins);
}
int get_cents(void)
{
int cents;
do
{
cents = get_int("Number of cents: \n");
}
while (cents < 0);
return cents;
}
int calculate_quarters(int cents)
{
int quarters;
quarters = cents / 25;
return quarters;
}
int calculate_dimes(int cents)
{
int dimes;
dimes = cents / 10;
return dimes;
}
int calculate_nickels(int cents)
{
int nickels;
nickels = cents / 5;
return nickels;
}
int calculate_pennies(int cents)
{
int pennies;
pennies = cents / 1;
return pennies;
}
+56
View File
@@ -0,0 +1,56 @@
//// TODO ////
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int modulo = 0;
int start = 0;
long number = 0;
// Promt for input
number = get_long("Number: ");
printf("%li\n", number);
// Calculate checksum
//for (int i = length; i < length; i-=2)
//{
// printf("number[i]");
//}
// Check for card length and starting digits
// If invalid Print INVALID\n
if (modulo != 0)
{
printf("INVALID\n");
}
// Else
else
{
// Print AMEX\n
if (start == 34 || start == 37)
{
printf("AMEX\n");
}
// Print MASTERCARD\n
else if (start == 51 || start == 52 || start == 53 || start == 54 || start == 55)
{
printf("MASTERCARD\n");
}
// Print VISA\n
else if (start == 4)
{
printf("VISA\n");
}
}
}
+8
View File
@@ -0,0 +1,8 @@
#include <stdio.h>
#include <cs50.h>
int main(void)
{
string name = get_string("What is your Name? ");
printf("hello, %s\n ", name);
}
+46
View File
@@ -0,0 +1,46 @@
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int size;
int spaces;
int hashes;
// Asking for size
do
{
size = get_int("Size: ");
}
while (size < 1 || size > 8);
// Building
for (int i = 0; i < size; i++)
{
// left spaces
for (spaces = (size - i); spaces >= 2; spaces--)
{
printf(" ");
}
// hashes
for (hashes = 0; hashes <= i; hashes++)
{
printf("#");
}
// middle spaces
printf(" ");
// hashes
for (hashes = 0; hashes <= i; hashes++)
{
printf("#");
}
// next line
printf("\n");
}
}
+38
View File
@@ -0,0 +1,38 @@
#include <cs50.h>
#include <stdio.h>
int main()
{
// TODO: Prompt for start size
int start;
do
{
start = get_int("Start size over 9: ");
}
while (start < 9);
// TODO: Prompt for end size
int end;
do
{
end = get_int("End size: ");
}
while (end < start);
// TODO: Calculate number of years until we reach threshold
int years = 0;
while (start < end)
{
start = start + (start / 3) - (start / 4);
years++;
}
// TODO: Print number of years
printf("Years: %i\n", years);
}