how can you print this using C programing?
how can you code to print the following output using C programing:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
this is like a pyramid, it is narrow at the top and it becomes wide as it goes to the bottom.
and what about to print the reverse of the above:
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
thanks
Re: how can you print this using C programing?
you mean printing to the console?
sure you can, you just have to figure out how many spaces to print to get the desired look :)
read up on printf()
Re: how can you print this using C programing?
is this your homework for programming class? because this was one of the problems for us to solve during our programming class way back when i was a freshman. ;)
Re: how can you print this using C programing?
Code:
# include <iostream.h>
# include <iomanip.h> // library that has the setw output manipulator
int main ()
{
char letter; // letter is the symbol or letter made into a giant triangle
int width; // width is how far to go into the center of screen
int base; // base is how many symbols are on bottom line
int a; // a is how many lines down the triangle is
int b = 1; // b is how many symbols are displayed on each line
int counter = 0; // counter is how many times the loop executed
cout<<"This program will make a triangle of the symbol entered."<<endl;
cout<<"It must be an odd number for the triangle to form properly."<<endl;
cout<<"If an even number is entered, it will be lowered to the previous odd."<<endl;
while(cin) // This allows the program to loop until the user closes the window
{
cout<<"Enter a symbol or character."<<endl;
cin>>letter;
cout<<"Enter the number of characters the base should have."<<endl;
cin>>base;
width = (base / 2) + 5 - counter; // This is how far into the center it should space until it starts outputting the symbol
// It must first be given a value before it enters the loop
a = 1; // a is how many lines down the triangle is, and natuarally it starts on the first line
while(width > 5) // It will loop and continue to output the symbol until it reaches 5 spaces from the left margin...
// so that everything isn't jammed against the side
{
width = (base / 2) + 5 - counter; // This is how far into the center it should space until it starts outputting the symbol
cout<<setw(width); // setw is an output manipulator in the <iomanip.h> library. this tell the compiler how many lines
// to move until it first sends a character to the screen. It is currently set to move the value of
// "width" spaces to the right before it outputs.
while(b > 0) // This while loop will continue to output the desired symbol to the current line until it is equal to 1
{
cout<<letter; // outputs the letter or symbol entered
b--; // b is decremented so only so many letters are outputted per line
}
cout<<endl; // an endl is used to jump to the next line to output the next part of the triangle
b = (a * 2) - 1; // the number of symbols per line is found using this equation
width--; // the width is decremented so that everything is spaced properly
b = b + 2; // b is given 2 more symbols because it is on the next line, and every line has 2 more than the previous
a++; // this is how many lines into the triangle it is
counter++; // the counter is used to ensure proper spacing done by the width variable
}
cout<<endl<<endl; // endl is used to add some space between each time the program is executed
b = 1; // b is returned to 1 because the program started over
counter = 0; // counter is returned to 0 because the program started over
}
return 0;
}
Here is some code not by me but it does kind of what you want :)
Re: how can you print this using C programing?
printf is superceded by cout
Re: how can you print this using C programing?
Quote:
Originally Posted by Lord Orwell
printf is superceded by cout
Well, that really depends on whether you are using C or C++.
Re: how can you print this using C programing?
yeah i know. I didn't remember that until after i had posted and then i couldn't find the thread...:blush:
Re: how can you print this using C programing?
PHP Code:
#include <stdio.h>
int main()
{
const int HIGHEST_NUMBER = 5;
int i = 0,
j = 0,
a = 1,
b = HIGHEST_NUMBER + 1,
inc = 1
;
while(1)
{
for(i = a ; i != b ; i += inc)
{
for(j = HIGHEST_NUMBER - i ; j > 0 ; j--)
printf(" ");
for(j = 1 ; j < i ; j++)
printf("%d ", j);
for(j = i ; j > 0 ; j--)
printf("%d ", j);
printf("\n");
}
printf("\n");
if(inc == -1)
break;
a = HIGHEST_NUMBER;
b = inc = -1;
}
return 0;
}
Re: how can you print this using C programing?
Dude, you just did his homework for him! ;)
Re: how can you print this using C programing?