sigh... why dosent this work?

After trying for 20 minutes with every possible way I could think of, I have come to seek expert advice lol....

What I'm trying to do with the code below is have a array of 100 strings (lines[100]), and with this, I want to periodicly add a new string to it, and bump out the oldest array off. (ex. lines[0] becomes lines[1]... lines[100] gets bumped off) If we run out of room. So in order to do that, I've created two for () {... statements... the first one copies the array to a templines array.. then the next one trys to move all arrays up one, leaving lines[0] for me to put the new data in... and lines[100] gets deleted. Now, when I try to run the code below in my program, I get an error and Borland C++ 3.1 closes with an error. Am I doing somthing wrong? Or, how would you do this? I have declared the char *lines[100]; in the begenning of the program....