• 0

While loop (Reforesting problem)


Question

Hi guys, this is the other half of my assignment. ( I think im pretty much done with this one, I just cant figure out 1 thing) Sorry if Im not allowed to post 2 topics at once, I looked at the forum rules and couldn't find anything saying it was against the rules.

Anyways, with this program, 2 things are happening..1st, Im getting some huge numbers when It runs the program.

second, the black debugger box isnt staying open while I run the program. It exits before I can see the numbers. (it worked once, and thats why I saw the huge numbers..but hasnt worked since).

If someone could maybe modify a line or two to make it work, or tell me what I did wrong so I can try to fix it that would be good. Id prefer if you didn't rewrite the whole program.

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <iostream>

int main()

{

/* Declare and initialize variables. */

int year=1 ;

double Acres = 14000, uncut = 2500, Regrowth_rate = .02;

double reforest = 0;

while(year<=20)

{

reforest = uncut *(1+Regrowth_rate); // calculate growth

uncut = uncut + reforest ; // add that to uncut

cout << year << "\t" << reforest << endl;

year++;

printf ("%d %lf\n", year, reforest);

}

Link to comment
https://www.neowin.net/forum/topic/630273-while-loop-reforesting-problem/
Share on other sites

6 answers to this question

Recommended Posts

  • 0
  Doli said:
what calculations are you trying to do?

Sorry I should have put that up there first. My mistake.

A problem in timber management is to determine how much of an area to leave uncut so that the harvested

area is reforested in a certain period of time. It is assumed that reforestation takes place

at a known rate per year, depending on climate and soil conditions. A reforestation

equation expresseses this growth as a function of the amount of timber standing and the

reforestation rate. For example, if 100 acrea are left standing after harvesting and the

reforestation rate is 0.05, then 100 + 0.05 x 100, or 105 acrees, will be forest at the end of

the first year. At the end of the second year, the number of acres of forest will be 105 +

0.05 x 105, or 110.25 acres.

1)

Assume that there are 14,000 acres total with 2,500 acres uncut and that the

reforestation rate is 0.02. Print a table showing the number of acres reforested at

the end of each year, for a total of 20 years.

  • 0

This is gonna sound weird, but initialise the values at 0 and then change them appropriately. Not sure if this will work, but add in a "break;" after the do-while.

Also, I assume you know you have a closing bracket missing at the end of your code, right (the one that closes the main method)?

EDIT: Think I know your problem...

/* your old code */
reforest = uncut *(1+Regrowth_rate); // calculate growth
uncut = uncut + reforest; // add that to uncut

/* my replacement code */
reforest = (uncut * Regrowth_rate) + uncut; // calculate growth
uncut += reforest;

Try this.

Edited by The Tjalian
  • 0
  cooltee13 said:
Sorry I should have put that up there first. My mistake.

A problem in timber management is to determine how much of an area to leave uncut so that the harvested

area is reforested in a certain period of time. It is assumed that reforestation takes place

at a known rate per year, depending on climate and soil conditions. A reforestation

equation expresseses this growth as a function of the amount of timber standing and the

reforestation rate. For example, if 100 acrea are left standing after harvesting and the

reforestation rate is 0.05, then 100 + 0.05 x 100, or 105 acrees, will be forest at the end of

the first year. At the end of the second year, the number of acres of forest will be 105 +

0.05 x 105, or 110.25 acres.

1)

Assume that there are 14,000 acres total with 2,500 acres uncut and that the

reforestation rate is 0.02. Print a table showing the number of acres reforested at

the end of each year, for a total of 20 years.

Your calculations in the while loop are wrong. If you tried the example :

  Quote
For example, if 100 acrea are left standing after harvesting and the

reforestation rate is 0.05, then 100 + 0.05 x 100, or 105 acrees, will be forest at the end of

the first year. At the end of the second year, the number of acres of forest will be 105 +

0.05 x 105, or 110.25 acres.

in your program you would not get the same answer so you would know that its wrong. Plan it out on paper first.

hint: result = "acres left standing" + "reforestation rate" X "acres left standing"

  • 0

int main()

{

/* Declare and initialize variables. */

int year=1 ;

double Acres = 14000, uncut = 2500, Regrowth_rate = .02;

double reforest = 0;

while(year<=20)

{

uncut = uncut + (uncut*Regrowth_rate); // calculate growth

cout << year << "\t" << uncut << endl;

year++;

}

return 0;

}

This will give you 3714.87 after 20 years assuming a 2% regrowth.

You were essentially redundantly adding to your uncut value and unnecessarily complicating things it seemed.

  • 0
  cykosis said:
int main()

{

/* Declare and initialize variables. */

int year=1 ;

double Acres = 14000, uncut = 2500, Regrowth_rate = .02;

double reforest = 0;

while(year<=20)

{

uncut = uncut + (uncut*Regrowth_rate); // calculate growth

cout << year << "\t" << uncut << endl;

year++;

}

return 0;

}

This will give you 3714.87 after 20 years assuming a 2% regrowth.

You were essentially redundantly adding to your uncut value and unnecessarily complicating things it seemed.

Ahh ok, ya I see what I did now, thanks for the help. Much appreciated.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Everything's OK! 🤣🤣🤣  
    • XnView 2.52.2 by Razvan Serea XnView is freeware software that allows you to view and convert graphic files. It's very fast and easy to use. But more importantly it supports more than 500 graphics formats! Import about 500 graphic file formats Export about 50 graphic file formats Multipage TIFF, Animated GIF, Animated ICO support Image IPTC, EXIF metadata support EXIF auto rotation support IPTC editing Resize, rotate, crop support Lossless rotate & crop (jpeg) support Adjust brightness, contrast... Auto levels, contrast Modify number of colors Apply filters (blur, average, emboss, ...) Apply effects (lens, wave, ...) Fullscreen mode Slide show with effects Batch convert, batch rename Create WEB page easily Screen capture Create contact Sheet Create or edit Multi-page file (TIFF, DCX, LDF) TWAIN & WIA support (Windows only) Print support (Windows only) Drag & Drop support (Windows only) Compare image side by side Filmstrip layout 44 languages support (Windows only) XnView 2.52.2 changelog: NConvert: -xyb for JPEGli XnView vs XnView MP: XnView is the classic, lightweight version with basic features and Windows-only support. XnView MP is the modern, cross-platform version with an improved interface, better performance, and extended format support. Download: XnView 2.52.2 Installer | Standalone | ~24.0 MB (Non-commercial freeware) Download: XnView MP 1.9.2 64-bit | Standalone | ~100.0 MB Download: XnView MP 1.9.2 32-bit | Standalone | ~60.0 MB View: XnView Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Correct. You don’t buy anything that’s free (if it were).
  • Recent Achievements

    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
    • One Month Later
      Karan Khanna earned a badge
      One Month Later
    • Week One Done
      Karan Khanna earned a badge
      Week One Done
    • First Post
      MikeK13 earned a badge
      First Post
    • Week One Done
      OHI Accounting earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      692
    2. 2
      ATLien_0
      269
    3. 3
      Michael Scrip
      204
    4. 4
      +FloatingFatMan
      169
    5. 5
      Steven P.
      144
  • Tell a friend

    Love Neowin? Tell a friend!