• 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

    • Or, it is Apple simply overinflated the screens.
    • Is it that easy though? WhatsApp is the default way the majority message in a lot of countries these days. I would prefer Signal to be as popular as WhatsApp and probably could get a few people to use it, most people are probably going to stick with WhatsApp sadly. Which leaves SMS or Facebook Messenger as alternatives a lot of people also have. (Here anyway, I know iMessage, LINE and WeChat dominate in certain parts of the world). It annoying Meta purchased WhatsApp all those years ago.
    • Do they tell Google not to scrape their content via something like robots.txt? Do they specify anywhere that certain agents aren't to scrape? If not, tough. Plus there's no obligation on anyone's part to adhere to any directives that might be in this file anyway...
    • DMDE 4.3.5.823 Beta by Razvan Serea DMDE is a software designed to effectively recover lost data. It retrieves files and folders swiftly and stores them in the user-defined location. It is an easy to use yet powerful tool that will assist both novice and experienced users in getting back lost files in just a few simple steps. Free Edition includes all basic features but a single recovery operation recovers up to 4000 files in the current panel only (you should first open a subdirectory in the current panel and then recover files in the panel). In paid licenses there is no this restriction, and recovery of nested directories is allowed. Can paid versions recover more files than the free version of DMDE? If a file cannot be recovered in the DMDE Free Edition (or it is damaged after recovery) the same will occur in the paid versions. DMDE paid versions are capable of recovering the same files. The only difference is that paid versions can recover all found files in one go, as well as restore the directory structure presented in the free version. Professional Edition provides additional features: rights to provide data recovery services portable use on different computers one-time activation on client computers (including remote use) data recovery reports (include logs and file checksums) read support for E01 disk image files using logs when copying a disk (resume copying, multiple passes) customizable I/O handler script recovery of NTFS alternate data streams DMA access in DOS (for ATA interface) DMDE key features: Portable run without installation Support for NTFS, FAT12/16, FAT32, exFAT, ReFS, Ext2/Ext3/Ext4, btrfs, HFS+/HFSX, APFS Thorough FS and Raw scan, FS reconstruction for data recovery in complex cases Simple partition manager for express search, diagnostics, and restoration of partitions Disk cloning and disk image creating, including I/O error handling, reverse copying, and other features RAID constructor for virtual RAID reconstruction supporting levels RAID-0, RAID-1, RAID-4, RAID-5, RAID-6, delayed parity, custom striping, JBOD/spanned disks; automatic calculation of RAID configurations Cluster map to investigate file allocation Disk editor compatible with the most recent Windows versions which allows viewing, editing, and navigating through different disk structures using built-in and custom templates NTFS tools to work bypassing NTFS driver (copy, delete file, create, repair directory) Support for various device I/O interfaces and settings to work with damaged devices, disk images, NTFS compression and encryption, national names, large disks, large files, large sectors, and other features DMDE 4.3.5.823 Beta changelog: Expanded built-in signatures for RAW search functionality Added file list export to HTML format (DMDE Professional Edition only, view sample) Improved handling of I/O errors with selective skipping by error code Enabled preview support for additional image (graphic) file types (Windows only) Improved extfs reconstruction when copies of superblocks with group descriptors are found Fixed potential hang during Btrfs volume reconstruction Resolved issue with cluster list creation when subfolders are present Other improvements and fixes Download: DMDE 64-bit | 2.4 MB (Free, paid upgrade available) Download: DMDE 32-bit | 2.0 MB Link: DMDE Home Page | DMDE Manual | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • The BBC might have gone about this the wrong way, but if there is a revenue sharing program then they and all other "providers" of data should be included in the plan.
  • Recent Achievements

    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
    • One Month Later
      gowtham07 earned a badge
      One Month Later
    • Collaborator
      lethalman went up a rank
      Collaborator
    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      679
    2. 2
      ATLien_0
      276
    3. 3
      Michael Scrip
      220
    4. 4
      +FloatingFatMan
      170
    5. 5
      Steven P.
      164
  • Tell a friend

    Love Neowin? Tell a friend!