CS 112b
Spring 2004
Ileana Streinu

Lecture 3

Today: Hands-on lab, array applications and preparation for Hw2

Pre-lab reading: Game of Life handout.
The goal of this lab is:

To do

    Write C++ functions for (as many as you can of) the following tasks:
  1. Read a game of Life configuration from user input.
  2. Print a Life configuration on the standard output.
To test this functions, you will write a main program which asks the user what to do, then depending on the choice, will execute one of the preceeding functions or quit. The options should be: Read below the specifications on how the input/output should be formatted.

Hint: start by writing the main program and provide empty functions for the 2 desired ones. Then implement each function, one by one, in the logical order which will allow you to test them.

Input/Output format and Testing

To enter a Life configuration, use x's for live cells and dots '.' for dead cells. Finish a line with a sharp sign # and the whole configuration with an equal sign =. For example, this data set corresponds to the first example in your handout.

To simplify the testing, I have prepared a larger set of data files containing the data sets in Fig. 1.1 of the handout. You can copy them directly from the web:
Your program should read the input from user input, but for testing you can pipe in any of these data files.


You should develop your program in stages, keep intermediate versions and submit the latest working version in Lab3, before leaving the lab at 11:50. Name the file lab3.cpp and submit a typescript, too.

You should comment your program, write on it your name and relax: the lab will not be harshly graded. I want to see what each of you can do when working under time pressure.

After the lab: you can continue working and thinking about ways of completing this lab, but do not submit anything. You continue in the next lab, when again, you will be doing all the work in a limited amount of time and submit it by the end of the day.