Would be annoying to write this every time we need to calculate!
double pi() {
double sum = 0.0;
for (int i = 0; i < 1000; i++) {
sum += (-1.0) * pow(1.0 / 2.0, i) / (i + 1);
}
return 4.0 * sum;
}
int main(void) {
double calculated_pi = pi();
}
double pi() {
double sum = 0.0;
for (int i = 0; i < 1000; i++) {
sum += (-1.0) * pow(1.0 / 2.0, i) / (i + 1);
}
return 4.0 * sum;
}
^ problem! main
doesn't know that pi exists yet!
double pi();
int main(void) {
double calculated_pi = pi();
}
double pi() {
double sum = 0.0;
for (int i = 0; i < 1000; i++) {
sum += (-1.0) * pow(1.0 / 2.0, i) / (i + 1);
}
return 4.0 * sum;
}
^ Solved! We forward declared pi!
int day_1 = 2;
int day_2 = 3;
int day_3 = 3;
int day_4 = 5;
int day_5 = 7;
int day_6 = 1;
int day_7 = 3;
// Any day with 3 or more scoops is too much!
if (day_1 >= 3){
printf("Too much ice cream\n");
}
if (day_2 >= 3) {...
Seem repetitive?
We will look primarily at two data structures:
linked lists (future)
These are very, very powerful data structures you will use forever(which you specify)
int ice_cream_per_day[7];
int ice_cream_per_day[7] = {3, 2, 1, 2, 1, 3, 5};
^ Note you can only do this when you declare, not later!
int ice_cream_per_day[7] = {};
^ Will initialise all elements to 0
int ice_cream_per_day[7] = {3, 2, 1, 2, 1, 3, 5};
Creates:
int first_day_ice_creams = ice_cream_per_day[0];
ice_cream_per_day[0] = 5;
int ice_cream_per_day[7] = {3, 2, 1, 2, 1, 3, 5};
// read each element
ice_cream_per_day[0];
ice_cream_per_day[1];
ice_cream_per_day[2];
ice_cream_per_day[3];
ice_cream_per_day[4];
ice_cream_per_day[5];
ice_cream_per_day[6];
^ Does this look repetitive?
If only we had a way to count :(
Bad
int ice_cream_per_day[7] = {3, 2, 1, 2, 1, 3, 5};
// read each element
printf("%d\n", ice_cream_per_day[0]);
printf("%d\n", ice_cream_per_day[1]);
printf("%d\n", ice_cream_per_day[2]);
printf("%d\n", ice_cream_per_day[3]);
printf("%d\n", ice_cream_per_day[4]);
printf("%d\n", ice_cream_per_day[5]);
printf("%d\n", ice_cream_per_day[6]);
Good
int ice_cream_per_day[7] = {3, 2, 1, 2, 1, 3, 5};
int i = 0;
while (i < 7) {
printf("%d\n", ice_cream_per_day[i]);
i++; // i = i + 1;
}