Counting Loops
for Syntax for (expression1; expression2; expression3) statement
for Syntax for (expression1; expression2; expression3) statement
for Syntax for (expression1; expression2; expression3) statement
for Syntax for (expression1; expression2; expression3) statement
for Syntax for (expression1; expression2; expression3) statement
for Syntax for (expression1; expression2; expression3) statement
Bad Form cout << “What is 2+2? ”; cin >> sum; for (; sum != 4;) { cout << “Incorrect answer. What is 2+2? ” << endl; cin >> sum; }
Example #1 float average; long sum = 0; short i = 0; cout << “enter positive integer: ”; cin >> max; for(i=0; i <= max; i++) sum += i; average = static_cast<float>(sum) / max; cout << “average is ” << average << endl;
Example #1 float average; long sum = 0; short i = 0; cout << “enter positive integer: ”; cin >> max; for(i=0; i <= max; i++) sum += i; average = static_cast<float>(sum) / max; cout << “average is ” << average << endl;
Example #1 float average; long sum = 0; short i = 0; cout << “enter positive integer: ”; cin >> max; for(i=0; i <= max; i++) sum += i; average = static_cast<float>(sum) / max; cout << “average is ” << average << endl;
Example #1 float average; long sum = 0; short i = 0; cout << “enter positive integer: ”; cin >> max; for(i=0; i <= max; i++) sum += i; average = static_cast<float>(sum) / max; cout << “average is ” << average << endl;
Example #2 float average; long sum = 0; short i = 0; cout << “enter positive integer: ”; cin >> max; for (i=0; i <= max; i+=2) sum += i; average = static_cast<float>(sum) / max; cout << “average is ” << average << endl;
Goal Output * * * * * * * * * * * * * * *
Outputting 5 Lines for (int i = 1; i <= 5; i++) { cout << endl; }
Outputting 5 Stars for (int i = 1; i <= 5; i++) { cout << “* ”; }
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values i=1 j=?
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values i=1 j=1
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * i=1 j=1
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * i=1 j=2
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * i=1 j=2
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * i=1 j=3
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * i=1 j=3
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * i=1 j=4
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * i=1 j=4
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * i=1 j=5
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=5
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=6
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=6
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=2 j=?
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=2 j=1
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * i=2 j=1
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * i=2 j=2
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * i=2 j=2
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * i=2 j=3
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * i=2 j=3
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * i=2 j=4
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=2 j=4
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=2 j=5
Combining for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) cout << "* "; cout << endl; } output variable values * * * * * i=2 j=5 oops!!!
Goal vs Actual Goal * * * * * * * * * * * * * * * Actual * * * * * * * * * * * * * * * Actual * * * * * * * * * * * * * * * * * * * * * * * * * i=1 i=2 j=5 i=3 j=4 i=4 j=3 i=5 j=2 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values i=1 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values i=1 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * i=1 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * i=1 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * i=1 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * i=1 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * i=1 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * i=1 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * i=1 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * i=1 j=5
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=5
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=6
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * i=1 j=6
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * i=2 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * i=2 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * i=2 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * i=2 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * i=2 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * i=2 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * i=2 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * i=2 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=2 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=2 j=5
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=2 j=5
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=3 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * i=3 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * i=3 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * i=3 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * i=3 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * i=3 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * i=3 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * i=3 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * i=3 j=4
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * i=4 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * i=4 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * i=4 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * i=4 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * i=4 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * i=4 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * i=4 j=3
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * i=5 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * i=5 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * * i=5 j=1
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * * i=5 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * * i=5 j=2
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * * i=6 j=?
Fixed for (int i=1; i <= 5; i++) { for (int j=1; j <= 5 – i + 1; j++) cout << "* "; cout << endl; } output variable values * * * * * * * * * * * * * * * i=6 j=?
Goal Output * * * * * * * * * * * * * * *
Solution Rows * * * * * * * * * * * * * * * for (short i = 0; i < 5; i++) { for (short j = 1; j <= i; j++) cout << " "; for (short j = i; j < 5; j++) cout << "* "; cout << endl; } * * * * * * * * * * * * * * *
Solution Spaces * * * * * * * * * * * * * * * for (short i = 0; i < 5; i++) { for (short j = 1; j <= i; j++) cout << " "; for (short j = i; j < 5; j++) cout << "* "; cout << endl; } * * * * * * * * * * * * * * *
Solution Stars * * * * * * * * * * * * * * * for (short i = 0; i < 5; i++) { for (short j = 1; j <= i; j++) cout << " "; for (short j = i; j < 5; j++) cout << "* "; cout << endl; } * * * * * * * * * * * * * * *
Out of Scope for (int i = 1; i <= 10; i++) cout << “hello” << endl; cout << i << endl;
Out of Scope for (int i = 1; i <= 10; i++) { cout << “hello” << endl; } cout << i << endl;
Fixed Scope int main() { int i; for (i = 1; i <= 10; i++) { cout << “hello” << endl; } cout << i << endl; return 0; }
Duplicate Variables int main() { int i = 20; for (int i =1; i <= 10; i++) { cout << “hello” << endl; } cout << i << endl; return 0; }
End of Session