When I run this program in Dev C++, it executes until it prompts to input the integer value of variable 'c'. Then, I input the value, and the whole program crashes. There is no syntax error; the thing is it runs fine when I do not use the If(Condition) statement.
[The following image shows how the output looks like when I compile and run the program.][1]
//Program to display patterns of numbers according to the input values
#include<stdio.h>
int main()
{
int i,j,in,ni,jn,nj,c;
printf("For the statements for(i=ni;i<=/>=in;i++/--) and\n");
printf("For(j=nj;j<=/>=jn;j++/--),\n");
printf("\nEnter ni: ");
scanf("%d",&ni);
printf("\nEnter in: ");
scanf("%d",&in);
printf("\nEnter nj: ");
scanf("%d",&nj);
printf("\nEnter jn: ");
scanf("%d",&jn);
printf("\nSelect your choice for the type of for loop to be used:\n");
printf("\n01. for(i=ni;i<=in;i++) & for(j=nj;j<=jn;j++)\n");
printf("\n02. for(i=ni;i<=in;i++) & for(j=nj;j<=jn;j--)\n");
printf("\n03. for(i=ni;i<=in;i++) & for(j=nj;j>=jn;j--)\n");
printf("\n04. for(i=ni;i<=in;i++) & for(j=nj;j>=jn;j++)\n");
printf("\n05. for(i=ni;i<=in;i--) & for(j=nj;j<=jn;j++)\n");
printf("\n06. for(i=ni;i<=in;i--) & for(j=nj;j<=jn;j--)\n");
printf("\n07. for(i=ni;i<=in;i--) & for(j=nj;j>=jn;j--)\n");
printf("\n08. for(i=ni;i<=in;i--) & for(j=nj;j>=jn;j++)\n");
printf("\n09. for(i=ni;i>=in;i++) & for(j=nj;j<=jn;j++)\n");
printf("\n10. for(i=ni;i>=in;i++) & for(j=nj;j<=jn;j--)\n");
printf("\n11. for(i=ni;i>=in;i++) & for(j=nj;j>=jn;j--)\n");
printf("\n12. for(i=ni;i>=in;i++) & for(j=nj;j>=jn;j++)\n");
printf("\n13. for(i=ni;i>=in;i--) & for(j=nj;j<=jn;j++)\n");
printf("\n14. for(i=ni;i>=in;i--) & for(j=nj;j<=jn;j--)\n");
printf("\n15. for(i=ni;i>=in;i--) & for(j=nj;j>=jn;j--)\n");
printf("\n16. for(i=ni;i>=in;i--) & for(j=nj;j>=jn;j++)\n");
printf("\nInput must be between 1 and 16 inclusive(Including 1 and 16 too)\n");
scanf("%d",c);
if(c==1)
{
for(i=ni;i<=in;i++)
{
for(j=nj;j<=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==2)
{
for(i=ni;i<=in;i++)
{
for(j=nj;j<=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==3)
{
for(i=ni;i<=in;i++)
{
for(j=nj;j>=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==4)
{
for(i=ni;i<=in;i++)
{
for(j=nj;j>=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==5)
{
for(i=ni;i<=in;i--)
{
for(j=nj;j<=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==6)
{
for(i=ni;i<=in;i--)
{
for(j=nj;j<=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==7)
{
for(i=ni;i<=in;i--)
{
for(j=nj;j>=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==8)
{
for(i=ni;i<=in;i--)
{
for(j=nj;j>=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c==9)
{
for(i=ni;i>=in;i++)
{
for(j=nj;j<=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=10)
{
for(i=ni;i>=in;i++)
{
for(j=nj;j<=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=11)
{
for(i=ni;i>=in;i++)
{
for(j=nj;j>=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=12)
{
for(i=ni;i>=in;i++)
{
for(j=nj;j>=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=13)
{
for(i=ni;i>=in;i--)
{
for(j=nj;j<=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=14)
{
for(i=ni;i>=in;i--)
{
for(j=nj;j<=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=15)
{
for(i=ni;i>=in;i--)
{
for(j=nj;j>=jn;j--)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c=16)
{
for(i=ni;i>=in;i--)
{
for(j=nj;j>=jn;j++)
{
printf("%d",i);
}
printf("\n");
}
}
else if(c<1||c>16)
{
printf("Invalid choice input. Please enter numbers between 1 and 16 only.");
}
return(0);
}
Aucun commentaire:
Enregistrer un commentaire