how to display 2-D array elements in spiral
Answers were Sorted based on User's Feedback
Answer / om
#include<iostream>
using namespace std;
//----------------------
void spiral_way(int Row_size,int Column_size,int a[][4])
{
int
i,j,d=0,Current_row_size=Row_size,Current_column_size=Column_size,
Counter=Row_size*Column_size;
while(Counter>0) //Initailly my "Counter" is set to
total no. of elemnet in my 2-D array. so now I will
decrement it as I cover a element.
{
i=d;j=d;
while(j<Current_column_size-1) {
printf("%d\t",a[i][j]); j++; Counter--;}
//this is for printing the first row in forward direction.
while(i<Current_row_size-1) {
printf("%d\t",a[i][j]); i++; Counter--;}
//this is for printing the last cloumn in downward direction.
while(j>d) {
printf("%d\t",a[i][j]); j--; Counter--; }
//this is for printing the last row in backward direction.
while(i>d) {
printf("%d\t",a[i][j]); i--; Counter--; }
//this is for printing the first column in upward direction.
//When I completed the outer rectangle I move in to inner
rectangle by incrementing "d".
//and decrementing the "Current_row_size" and
"Current_column_size".
d++;
Current_row_size--;
Current_column_size--;
}
}
//-------------------------
int main()
{
int a[5][4]={{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16},
{17,18,19,20}
};
spiral_way(5,4,a);
//system("pause");
return 0;
}
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / raj
#define subscript 5
void spiral()
{
int a[subscript][subscript],i,j,k,l,m,p,q;
p=q=subscript ;
for(i=0;i<p;i++,p--)
{
for(j=i;j<n-1;j++)
printf("%d",a[i][j]);
for(k=i;k<j;k++)
printf("%d",a[k][j]);
for(l=k;l>i;l--)
printf("%d",a[l][k]);
for(m=k;m>i;m--)
printf("%d",a[i][m]);
}
if(q%2!=0)
printf("%d",a[j][j]);
}
Is This Answer Correct ? | 2 Yes | 1 No |
List the difference between a 'copy constructor' and a 'assignment operator' in C?
write c program without semicolon
11 Answers MindTech, TCS, Wipro,
Explain what is a static function?
what are bps & baud rates? differentiate these two?
main() { int *ptr=(int*)malloc(sizeof(int)); *ptr=4; printf("%d",(*ptr)+++*ptr++); }
5 Answers Vector, Vector Solutions,
What language is lisp written in?
second highest number in a given set of numbers
Explain the bubble sort algorithm.
how to find out the biggest element (or any other operation) in an array which is dynamic. User need not to mention the array size while executing.
What is a list in c?
if a is an integer variable, a=5/2; will return a value a) 2.5 b) 3 c) 2 d) 0
how to write a data 10 in address location 0x2000