CrazyEngineers
  • program to print triangle

    disaster

    Member

    Updated: Oct 25, 2024
    Views: 1.4K
    guys plz help me to write this progam

    123454321
    1234 4321
    123 321
    12 21

    the numbers must be printed in this form.😕
    0
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • disaster

    MemberJan 22, 2009

    sorry the image is wrong

    123454321
    1234..4321
    123.....321
    12........21
    1...........1
    Are you sure? This action cannot be undone.
    Cancel
  • silverscorpion

    MemberJan 22, 2009

    I'll just give you the algorithm for now. try coding it yourself.. if you're not able to do it, let's see.
    It goes like this:

    Initialise 2 counters, let's say i and j.

    Use one for printing the numbers in a single line, and the other for the number of lines.

    Take care of the spaces in the lines. A simple thing to note is, if there are 'n' lines, then the k-th line has numbers from 1 to k-1, then 2*(k-1)-1 spaces, then numbers from k-1 to 1.

    this same algo should work for any pattern, that is, even if the first line is 1234567654321, you can do it by this algo. Just try it.

    Hope I'm clear..
    Are you sure? This action cannot be undone.
    Cancel
  • safwan

    MemberJan 23, 2009

    bROTHER , I ALSO WANT ALMOST THIS KIND OF PROGRAMM BUT I NEED A PYRAMID TO BE PRINTED SAME AS HERE HOW TO KEEP SPACE LOOK MY ONE PROJECT.

    ----*
    ---***
    --*****
    BUT MY ONE IS
    *
    **
    ***
    ****
    SO PROBLEM HERE IS SAME
    OF YOUR AND MINE CHECKE OUT MY CODE IN MY THERED PRINTING PYRAMID IN VB.
    Are you sure? This action cannot be undone.
    Cancel
  • disaster

    MemberJan 27, 2009

    silverscorpion
    I'll just give you the algorithm for now. try coding it yourself.. if you're not able to do it, let's see.
    It goes like this:

    Initialise 2 counters, let's say i and j.

    Use one for printing the numbers in a single line, and the other for the number of lines.

    Take care of the spaces in the lines. A simple thing to note is, if there are 'n' lines, then the k-th line has numbers from 1 to k-1, then 2*(k-1)-1 spaces, then numbers from k-1 to 1.

    this same algo should work for any pattern, that is, even if the first line is 1234567654321, you can do it by this algo. Just try it.

    Hope I'm clear..



    can u explain it more plzzz
    i am unable to get u.
    Are you sure? This action cannot be undone.
    Cancel
  • shalini_goel14

    MemberJan 27, 2009

    Hi disaster

    Have a look at following thread, if it can be of any help to you.
    #-Link-Snipped-#

    [Note: Just replace "*" with the counter value you want to print. It is not exactly what you want but logic is almost same.]

    You can try once. If an issues let me know.
    Are you sure? This action cannot be undone.
    Cancel
  • cinu97

    MemberJul 25, 2011

    disaster
    guys plz help me to write this progam

    123454321
    1234 4321
    123 321
    12 21

    the numbers must be printed in this form.😕

    /* #-Link-Snipped-# */
    #include<stdio.h>
    int main()
    {
    int i,j,n;
    printf("Enter no");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    for(j=1;j<=n-i;j++)
    printf("%d",j);
    for(j=0;j<((i*2)-1);j++)
    printf("*");
    for(j=n-i;j>0;j--)
    {
    if(j==n)
    {
    }
    else
    printf("%d",j);
    }
    printf("\n");
    }}
    Are you sure? This action cannot be undone.
    Cancel
  • PraveenKumar Purushothaman

    MemberJul 26, 2011

    Guys, please refrain from posting EMail addresses in the public forums.

    Back to your question, it can be easily achieved by using two counters with a master counter, which counts less. And the same above code with some optimization.

    #include <stdio.h>
    int main()
    {
        
    int ijn;
        
    printf("Enter the number of Lines: ");
        
    scanf("%d", &n);
        for(
    i=0i<ni++)
        {
            for(
    j=1j<=n-ij++)
              
    printf("%d"j);
            for(
    j=0j<((i*2)-1); j++)
              
    printf("*");
            for(
    j=n-ij>0j--)
              if(
    j!=n)
                
    printf("%d"j);
            
    printf("\n");
        }
    }
    Are you sure? This action cannot be undone.
    Cancel
  • andremartin

    MemberJul 27, 2011

    Use one for printing the numbers in a single line, and the other for the number of lines.
    #-Link-Snipped-#
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register