Write a routine that prints out a 2-D array in spiral order




Answers were Sorted based on User's Feedback



Write a routine that prints out a 2-D array in spiral order..

Answer / rajendra kumar

#include<stdio.h>
#include<conio.h>
#define n 4
void main()
{
int A[n][n]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int min=0,max=n-1,i,j;
clrscr();
while(min<max)
{
for(i=min;i<=max;i++)
printf("%d,",A[min][i]);
for(i=min+1;i<=max;i++)
printf("%d,",A[i][max]);
for(i=max-1;i>=min;i--)
printf("%d,",A[max][i]);
for(i=max-1;i>min;i--)
printf("%d,",A[i][min]);
min++;
max--;
}
getch();
}

Is This Answer Correct ?    27 Yes 10 No

Write a routine that prints out a 2-D array in spiral order..

Answer / mahfooz

#include<stdio.h>
#define n 3
int main()
{
int arr[n][n]={{1,2,3},{4,5,6,},{7,8,9}};
int min=0,max=n-1,i;
while(min<=max)
{
for(i=min;i<=max;i++)
printf("%d ",arr[min][i]);
for(i=min+1;i<=max;i++)
printf("%d ",arr[i][max]);
for(i=max-1;i>=min;i--)
printf("%d ",arr[max][i]);
for(i=max-1;i>min;i--)
printf("%d ",arr[i][min]);
min++;
max--;
}
if(min==max) //this for odd case as n=3,5 etc
printf("%d \n",arr[min][min]);
return 0;
}

Is This Answer Correct ?    8 Yes 7 No

Write a routine that prints out a 2-D array in spiral order..

Answer / raghuram.a

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
main()
{
int n,m,i=0,j=0,k=0,l=0,p=0,q=1,r=0,s=1,a=40,b=25,ar[100];
clrscr();
cout<<"enter n:";
cin>>n;
printf("enter array elements:");
for(m=0;m<n;m++)
scanf("%d",&ar[m]);
gotoxy(a,b);
m=0;
printf("%d",ar[m++]);
while(m<n)
{
while(i<=j)
{
i++;
a+=4;
gotoxy(a,b);
printf("%d",ar[m++]);
if(m>=n)
goto next;
}

while(k<=l)
{ k++;
b+=4;
gotoxy(a,b);
printf("%d",ar[m++]);
if(m>=n)
goto next;
}
while(p<=q)
{
p++;
a-=4;
gotoxy(a,b);
printf("%d",ar[m++]);
if(m>=n)
goto next;

}
while(r<=s)
{
r++;
b-=4;
gotoxy(a,b);
printf("%d",ar[m++]);
if(m>=n)
goto next;
}
j+=2;
l+=2;
q+=2;
s+=2;
i=0;
k=0;
p=0;
r=0;

}
next:getch();
return 0;
}



Is This Answer Correct ?    1 Yes 13 No



Post New Answer



More C Code Interview Questions

main() { int x=5; clrscr(); for(;x<= 0;x--) { printf("x=%d ", x--); } } a. 5, 3, 1 b. 5, 2, 1, c. 5, 3, 1, -1, 3 d. –3, -1, 1, 3, 5

2 Answers   HCL,


Cau u say the output....?

1 Answers  


can u give me the c codings for converting a string into the hexa decimal form......

1 Answers  


main() { int i; float *pf; pf = (float *)&i; *pf = 100.00; printf("\n %d", i); } a. Runtime error. b. 100 c. Some Integer not 100 d. None of the above

2 Answers   HCL, LG,


func(a,b) int a,b; { return( a= (a==b) ); } main() { int process(),func(); printf("The value of process is %d !\n ",process(func,3,6)); } process(pf,val1,val2) int (*pf) (); int val1,val2; { return((*pf) (val1,val2)); }

1 Answers   Satyam,






why do you use macros? Explain a situation where you had to incorporate macros in your proc report? use a simple instream data example with code ?

0 Answers  


main() { unsigned int i=10; while(i-->=0) printf("%u ",i); }

1 Answers   HP,


#include <stdio.h> main() { char * str = "hello"; char * ptr = str; char least = 127; while (*ptr++) least = (*ptr<least ) ?*ptr :least; printf("%d",least); }

1 Answers  


void main() { int i; char a[]="\0"; if(printf("%s\n",a)) printf("Ok here \n"); else printf("Forget it\n"); }

3 Answers   Accenture,


main() { char *p; int *q; long *r; p=q=r=0; p++; q++; r++; printf("%p...%p...%p",p,q,r); }

1 Answers  


void main () { int x = 10; printf ("x = %d, y = %d", x,--x++); } a. 10, 10 b. 10, 9 c. 10, 11 d. none of the above

2 Answers   HCL,


main() { float me = 1.1; double you = 1.1; if(me==you) printf("I love U"); else printf("I hate U"); }

1 Answers  






Categories