EBK DATA STRUCTURES AND ALGORITHMS IN C
EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 5, Problem 19E

Explanation of Solution

Von Koch snowflake using Recursive method:

  • A method calls itself is a recursive method.
  • In recursive function base case will stop recursion and return value instead of calling function.
  • In each recursive call each side is divided into three sides. Each side has length of one by third of previous one.
  • Three new sides are drawn by turn line to left by “600”, turn right by “1200” and turn left by “600”.

Refer program in Figure 5.6 of textbook and include the following code in the given program to draw the cross.

Function to draw cross:

//Recursive function to draw side of cross

void drawSideofCross(double sidde, int levell)

{

  //If level is 0

  if (levell == 0)

  {

  //Calculate value of x cordinate

  pt.x = int(cos(angle*PI/180)*sidde) + currPt.x;

  //Calculate value of y cordinate

  pt.y = int(sin(angle*PI/180)*sidde) + currPt.y;

  pen->LineTo(pt);

  //Set x cordinate of of current point

  currPt.x = pt.x;

  //Set y cordinate of of current point

  currPt.y = pt.y;

  }

  //If level is not 0

  else

  {

/*Call recursive function drawSideofCross() with prameters (sidde/3) and (levell-1)*/

drawSideofCross(sidde/3,levell-1);

//Rotate 90 degree to left

left (90);

/*Call recursive function drawSideofCross() with parameters (sidde/3) and (levell-1)*/

  drawSideofCross(sidde/3,levell-1);

  //Rotate 90 degree to right

  right(90);

/*Call recursive function drawSideofCross() with parameters (sidde/3) and (levell-1)*/

drawSideofCross(sidde/3,levell-1);

//Rotate 90 degree to right

right(90);

/*Call recursive function drawSideofCross() with parameters (sidde/3) and (levell-1)*/

  drawSideofCross(sidde/3,levell-1);

  //Rotate 90 degree to left

  left (90);

/*Call recursive function drawSideofCross() with parameters (sidde/3) and (levell-1)*/

  drawSideofCross(sidde/3,levell-1);

}

}

//Function to draw cross

void drawCross()

{

/*Call recursive function drawSideofCross() with parameters (side) and (level)�...

Blurred answer
Students have asked these similar questions
What are the major threats of using the internet? How do you use it? How do children use it? How canwe secure it? Provide four references with your answer. Two of the refernces can be from an article and the other two from websites.
Assume that a string of name & surname is saved in S. The alphabetical characters in S can be in lowercase and/or uppercase letters. Name and surname are assumed to be separated by a space character and the string ends with a full stop "." character. Write an assembly language program that will copy the name to NAME in lowercase and the surname to SNAME in uppercase letters. Assume that name and/or surname cannot exceed 20 characters. The program should be general and work with every possible string with name & surname. However, you can consider the data segment definition given below in your program. .DATA S DB 'Mahmoud Obaid." NAME DB 20 DUP(?) SNAME DB 20 DUP(?) Hint: Uppercase characters are ordered between 'A' (41H) and 'Z' (5AH) and lowercase characters are ordered between 'a' (61H) and 'z' (7AH) in the in the ASCII Code table. For lowercase letters, bit 5 (d5) of the ASCII code is 1 where for uppercase letters it is 0. For example, Letter 'h' Binary ASCII 01101000 68H 'H'…
What did you find most interesting or surprising about the scientist Lavoiser?
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
Computer Science
ISBN:9780357392676
Author:FREUND, Steven
Publisher:CENGAGE L
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Java random numbers; Author: Bro code;https://www.youtube.com/watch?v=VMZLPl16P5c;License: Standard YouTube License, CC-BY