just another thug Posted February 3, 2006 Share Posted February 3, 2006 We are currently starting recursion in my Computer Science class and while the concept isn't that tought to grasp, the code can be. We have already played with 'The Towers of Hanoi' and I have it down pat. Now we must display Pascal's Triangle recursively, and I am having trouble with some of the coding. I keep throwing IndexOutOfBounds with my arrays. Basically, I have a two dimensional array holding the triangle value. I'm sorry I do not have the exact code of the main method where it occurs, I'll get that to you all once I get to school. Basically, maybe some pseudocode would be nice to see if I am following the same idea that you all are. Link to comment Share on other sites More sharing options...
CrazyDude Posted February 4, 2006 Share Posted February 4, 2006 I'm pretty good with java, but I have zero clue what you just said. Link to comment Share on other sites More sharing options...
just another thug Posted February 6, 2006 Author Share Posted February 6, 2006 I'm pretty good with java, but I have zero clue what you just said. Okay to sum up the problem we must display Pascals triangle recusively. ........1 ......1 1 ....1 2 1 ...1 3 3 1 .1 4 6 4 1 Pascal's trianlge is where the number on the bottom row is the sum of the two numbers directly above it. Link to comment Share on other sites More sharing options...
Svip Posted February 6, 2006 Share Posted February 6, 2006 Perhaps this page will explain a lot: http://en.wikipedia.org/wiki/Pascals_triangle And even perhaps it may explain how to write your application, which I have yet to understand the need of. Link to comment Share on other sites More sharing options...
Jevon Posted February 6, 2006 Share Posted February 6, 2006 It's kinda difficult to advise you without seeing what you have already. Below is some code I knocked up in about 5-10 minutes in C# - it won't translate directly, but it's a different approach to using two-dimensional arrays. Recursion generally means you don't need historic data anyway, which is the only reason I can think of for a two-dimension array in this case. using System;namespace Pascal_Triangle { class Program { static void Main( string[] args ) { int[] oldRow = { 1 }; int[] newRow = null; for ( int counter = 0; counter < 15; counter++ ) { string output = string.Empty; foreach ( int curVal in oldRow ) { output += curVal + ","; } output = output.Substring( 0, output.Length - 1 ); Console.WriteLine( output ); newRow = new int[ oldRow.Length + 1 ]; int lastValue = 0; newRow[ newRow.Length - 1 ] = 1; for ( int rowIndex = 0; rowIndex < newRow.Length - 1; rowIndex++ ) { newRow[ rowIndex ] = lastValue + oldRow[ rowIndex ]; lastValue = oldRow[ rowIndex ]; } oldRow = newRow; } Console.ReadKey(); } }} "Face Your Fears, Live Your Dreams" - No Fear"God was a dream of good government." - Deus Ex Machina "I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." - Stephen Roberts Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now