• 0

Mathematical Table Using Squared, Cubed, Square-root, and Cubed Root


Question

I have to create a table exactly like the one in the attachment using squared, cubed, square-root, and cube root. I am having a hard time creating the code and been struggling for hours, can anyone point me towards the right direction or have the code do this? thanks

 

post-507579-0-23039300-1383783580.png

14 answers to this question

Recommended Posts

  • 0

I am pretty new at this but this is all I got so far:

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double x = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;

    cout << "Where would you like to start? ";
    cin >> x;
    cout << endl;

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;

    cout << " x sqrt(x) x^2\n\n x^3\n";

    squared = x*x;
    cubed = x*x*x;
    squareRoot = sqrt (x);
    cubeRoot = pow(x), 1/3;


    return 0;
}

  • 0

here is my updated one, I can't get it to stop looping. I want it to stop at the number of rows when the user enters it

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;
        

    squared = number*number;
    cubed = number*number*number;
    squareRoot = sqrt (number);
    cubeRoot = pow((double)(number),(double)1/3);

    do
    {
    cout << number << "  " << squared << "  " << cubed << "  " << squareRoot << "  " << cubeRoot << "  " << ceiling << "  " << floor << "  " << endl;
    number++, squared++, cubed++, squareRoot++, cubeRoot++, ceiling++, floor++;
    }
    while (number > 0);


    return 0;
}

  • 0

Well obviously it isn't going to stop since you increment 'number' inside the loop and have 'while (number < 0)' as your condition. The instructions say use a for-loop, so use a for-loop.

 

http://code.wikia.com/wiki/For_loop

  • 0

okay I stopped it from looping but is there any suggestions you would suggest for me to revise my code to make it look like the table in the attachment?

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;
        

    squared = number*number;
    cubed = number*number*number;
    squareRoot = sqrt (number);
    cubeRoot = pow((double)(number),(double)1/3);

    do
    {
    cout << number << "  " << squared << "  " << cubed << "  " << squareRoot << "  " << cubeRoot << "  " << ceiling << "  " << floor << "  " << endl;
    ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;
    break;
    }
    while (number > 0);


    return 0;
}

  • 0

do
     {
     cout << number << "  " << squared << "  " << cubed << "  " << squareRoot << "  " << cubeRoot << "  " << ceiling << "  " << floor << "  " << endl;
     ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;
     [b]break;[/b]
     }
     while (number > 0);
You don't want that (the break) there. It will exit the do...while loop immediately after the first line of output.

Also, the way you've written it you should be decrementing "number" rather than incrementing it, or you could create a second count variable and increment it until it reaches the target number. As it stands it will fail because "number" your starting calculation number so you *should* be using "rows" in the do loop test instead of "number". :)

EDIT: Ugh, sorry, misread. You want to test against rows, but obviously will want to continue incrementing number.

  • 0

okay I just revised this and removed the break, so do you got any suggestions how to revise my code from looping and make my table to look exactly like the one in the attachment?

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;

    while (number <= 0)
    {

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;
    }

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;


    squared = number*number;
    cubed = number*number*number;
    squareRoot = sqrt (number);
    cubeRoot = pow((double)(number),(double)1/3);

    do
    {
    cout << number << setw(5) << squared << setw(5) << cubed << setw(5) << squareRoot << setw(5) << cubeRoot << setw(5) << ceiling << setw(5) << floor << setw(5);
    ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;
    }
    while (number > 0);


    return 0;
}

  • 0

You could use tabs instead of spaces. I think it's "\t" in C?

You still need to fix your while statement, too. Unless you enter a negative starting number it will always be greater than zero. Plus, you're outputting your rows in the loop so you need to be testing against that variable.

for (int rowCount = 0; rowCount < rows; rowCount++)

{

...code...

}

  • 0

is that the correct place where I place the " (int rowCount = 0; rowCount < rows; rowCount++) " ? I placed it before the "do", but it still loops

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;


    {

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;
    }

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;


    squared = number*number;
    cubed = number*number*number;
    squareRoot = sqrt (number);
    cubeRoot = pow((double)(number),(double)1/3);

    for (int rowCount = 0; rowCount < rows; rowCount++)

    do
    {
    cout << number << setw(5) << squared << setw(5) << cubed << setw(5) << squareRoot << setw(5) << cubeRoot << setw(5) << ceiling << setw(5) << floor << setw(5);
    ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;

    }
    while (number > 0);


    return 0;
}

  • 0

No, it should replace the do...while construct. The assignment you posted said to use a for... loop.

     for (int rowCount = 0; rowCount < rows; rowCount++)
     {
     cout << number << setw(5) << squared << setw(5) << cubed << setw(5) << squareRoot << setw(5) << cubeRoot << setw(5) << ceiling << setw(5) << floor << setw(5);
     ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;

     }
  

     return 0;
 }
  • 0

thank you for helping to make the program to stop the loop but my values still display diagonally and not evenly line up like a regular table should. it looks really random and values are located everywhere:

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;


    {

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;
    }

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;


    squared = number*number;
    cubed = pow(number, 3.0);
    squareRoot = sqrt (number);
    cubeRoot = pow(number, 1/3);

    for (int rowCount = 0; rowCount < rows; rowCount++)
     {
     cout << number << setw(5) << squared << setw(5) << cubed << setw(5) << squareRoot << setw(5) << cubeRoot << setw(5) << ceiling << setw(5) << floor << setw(5);
     ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;

     }
 

     return 0;
 }
 

  • 0

I tried adding the the titles for my table but they still look very uneven looking:

 

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{

    double number = 0;
    double rows = 0;
    double squared = 0;
    double cubed = 0;
    double squareRoot = 0;
    double cubeRoot = 0;
    int ceiling = 0;
    int floor = 0;


    {

    cout << "Where would you like to start? ";
    cin >> number;
    cout << endl;
    }

    cout << "And how many rows? ";
    cin >> rows;
    cout << endl;


    squared = number*number;
    cubed = pow(number, 3.0);
    squareRoot = sqrt (number);
    cubeRoot = pow(number, 1/3);

    cout << "Number" << setw(6) << "Squared" << setw(6) << "Cubed" << setw(6) << "SquareRoot" << setw(6) << "CubeRoot" << setw(6) << "Ceiling" << setw(6) << "Floor" << setw(6);

    for (int rowCount = 0; rowCount < rows; rowCount++)
    {
     cout << number << setw(6) << squared << setw(6) << cubed << setw(6) << squareRoot << setw(6) << cubeRoot << setw(6) << ceiling << setw(6) << floor << setw(6);
     ++number, ++squared, ++cubed, ++squareRoot, ++cubeRoot, ++ceiling, ++floor;

     }
 

     return 0;
 }
 

  • 0

How about you worry about logic first.

 

You need a for loop, right?

You don't even need to be storing them into variables.

This whole thing could be real simple.

 

Your only inputs come from the user, and there are only 2.

So.... the pseudocode logic then becomes:

 

// Get starting point n (double)

// Get number of rows (integer)

// Print header

// For each row, print the set of values for the row of data, incrementing n by 0.1 in the process

 

Your for-loop would then look like:

    for (int intRow = 0; intRow < intRows; intRow++)
    {

         // Output formatted n

         cout << n

 

         // Output formatted squared

         cout << n*n

 

         // Output formatted cubed

         cout << n*n*n

 

         // etc...

 

         // increment n by 0.1

         n += 0.1

     }

 

The point of the exercise is to understand the LOGIC, not to worry a ton about the formatting.

Does the LOGIC make more sense to you?

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

    • No registered users viewing this page.
  • Posts

    • Yeah the cookie consent is required for even displaying ads.
    • Reddit takes legal action, says Anthropic trained Claude on Reddit posts without permission by David Uzondu Reddit has filed a complaint against Anthropic, alleging the AI company straight-up stole its content to train AI models, including the Claude chatbot, without paying a dime. The lawsuit, lodged on June 4, 2025, in San Francisco, accuses Anthropic of repeatedly violating Reddit's User Agreement, which explicitly prohibits unauthorized commercial exploitation and automated scraping of its platform. The data on Reddit seems to be very valuable, seeing as the platform is already making bank licensing its content to other big AI players like Google and OpenAI, as mentioned in its complaint. These deals are reportedly worth tens of millions annually, so it's understandable why Reddit would be ###### if Anthropic was just taking the goods for free. Reddit has been quite clear that while its platform is open for community, it has rules, and commercial outfits cannot just waltz in and use user-generated content to build billion-dollar enterprises without permission or compensation. According to Reddit, Anthropic has been scraping its content since at least December 2021, ignoring technical measures like robots.txt designed to prevent such automated access. Reddit claims that in July 2024, Anthropic falsely stated it had stopped its bots from accessing Reddit, when audit logs allegedly showed Anthropic's bots hit Reddit's servers over a hundred thousand more times in the following months. The complaint on page 5 even includes a screenshot of Reddit's lawyers chatting with Claude, where the AI "confirms" it was trained on Reddit data. Now, we don't know how true this is, given the fact that LLMs hallucinate a lot. Reddit's legal filing paints Anthropic as a company with "two faces": one that publicly preaches about ethical AI and respecting boundaries, and another that privately ignores rules to line its pockets. Reddit is not holding back in what it is asking the court to do to Anthropic. The company demands significant monetary compensation, aiming to recover any profits Anthropic made from using Reddit's data, get repaid for its own financial losses, and it is also seeking punitive damages, looking to punish Anthropic for what Reddit describes as willful and malicious conduct. In addition to that, the company is also seeking an injunction designed to permanently stop Anthropic from using any Reddit data. This order would also compel Anthropic to delete all Reddit content from its systems and pull any AI technology, like its Claude chatbot, from commercial use if it was developed using this disputed data. On top of all that, Reddit wants Anthropic to cover all its legal expenses, including attorneys' fees and court costs.
    • I'm just thinking out loud for a second...could it be the cookie prompt that kicks up the adblock message? The reason I ask is that on Firefox (ad-block enabled but not for Neowin) I don't get the cookie consent option. But if I open Chrome (ad-block disabled) and go to the Neowin I get the cookie banner and then it's all fine. Some form of conflict of interest between the banners? It's probably nothing, but that's what I have just noticed.
  • Recent Achievements

    • Reacting Well
      James courage Tabla earned a badge
      Reacting Well
    • Apprentice
      DarkShrunken went up a rank
      Apprentice
    • Dedicated
      CHUNWEI earned a badge
      Dedicated
    • Collaborator
      DarkShrunken earned a badge
      Collaborator
    • Rookie
      Pat-Garrett went up a rank
      Rookie
  • Popular Contributors

    1. 1
      +primortal
      344
    2. 2
      snowy owl
      167
    3. 3
      +FloatingFatMan
      163
    4. 4
      ATLien_0
      161
    5. 5
      Xenon
      128
  • Tell a friend

    Love Neowin? Tell a friend!