this program i made.. should take an input 'no' from the user.. and print the following pattern..

0
0 n+1
0 n+1 n+2
0 n+1 n+2 n+3
0 n+1 n+2 n+3 n+4 ....... n
0 n+1 n+2 n+3 n+4.. n-1
0 n+1 n+2 n+3 n+4
0 n+1 n+2 n+3
0 n+1 n+2
0 n+1
0

lyk if i enter 2 it shuold print:

0
0 1
0 1 2
0 1

i made this program.. it gives the correct output .. but its caught in some infinite loop which is causing the problem and i cant seem to figure out WHERE exactly is the problem.. i made this program considering the number of lines that would be taken by output.. lyk if we considered the first line as line 0, the last line would always be 2*no.. and divided thsi program into two parts..first part is till the mid line where the numbers are printed til the 'no' entered..and thesecond part is the line after the mid line..which is always line=no+1..heres the code..please check it and corect it ASAP..

#include<stdio.h>
#include<conio.h>

int main()
{
    int no,line, i,j,k,m,end_of_part2,l,no_of_numbers;

    printf("Enter number to get pattern up to that number..");
    scanf("%d", &no);



    for(i=0;i<=no;i++)
    {
      for(j=0;j<=i;j++)
      {
        printf("%d ", j);

      }
      printf("\n");
      }

      line=no+1;
      end_of_part2=(2*no);


      k=line;

      while(k<=end_of_part2)

      {
        for(l=no;l>=1;l--)
        {

          no_of_numbers=l-1;                
          for(m=0;m<=no_of_numbers;m++)
          {
            printf("%d ", m);
          }
            printf("\n");

        }
        k=2*no;
      }

      getch();
      return 0;

}

Edited 3 Years Ago by Nick Evan: Fixed formatting

Reposting the code so I can see it better.

#include<stdio.h>
#include<conio.h>

int main() {
    int no, line, i, j, k, m, end_of_part2, l, no_of_numbers;

    printf ("Enter number to get pattern up to that number..");
    scanf ("%d", &no);

    for (i = 0;i <= no;i++) {
        for (j = 0;j <= i;j++) {
            printf ("%d ", j);
        }
        printf ("\n");
    }

    line = no + 1;
    end_of_part2 = (2 * no);


    k = line;

//    while (k <= end_of_part2) {
    for (l = no;l >= 1;l--) {
        no_of_numbers = l - 1;
        for (m = 0;m <= no_of_numbers;m++) {
            printf ("%d ", m);
        }
        printf ("\n");
    }
//        k = 2 * no;
//    }

    getch();
    return 0;
}
This article has been dead for over six months. Start a new discussion instead.