how can we design a magic square in c++?or suggest me the
basic idea of it.

Answers were Sorted based on User's Feedback



how can we design a magic square in c++?or suggest me the basic idea of it...

Answer / ganesh kundapur

Detail about the magic square
http://en.wikipedia.org/wiki/Magic_square.

To design a matrix sqaure, consider a 3X3 matrix.

n = 3;

* Fill the matrix with 0 or X. Start from the middle of the
first row ( i = 0, j = n/2)
+--+--+--+
|X_|1_|X_|
|X_|X_|X_|
|X_|X_|X_|

*. From 1, Go up rt corner(no row, and last column)(-1, 2),
and come down. and fill the next number at (2, 2)

X 1 X
X X X
X X 2

*. From 2, go right up corner( No column, 2nd row)(1, -1)
and if not any column, take a left and fill the next number
at (1, 0)

X 1 X
3 X X
X X 2

* From 3, go right up(0,1), It's already accupied, so come
down(2, 0) and fill the next number at (2,0)
X 1 X
3 X X
4 X 2.

* From node 4(2,0), up right up (1, 1), Its not accupied,
fill the next number at (1, 1)

X 1 X
3 5 X
4 X 2.

* From 5(1,1), Go right up(0,2) and its not accupied, fill
the next number at (0, 2)
X 1 6
3 5 X
4 X 2

* From x(0,2), go right up(No row, no column), so come down
from 6(1, 2), Its not accupied fill with the next number 7
at (1, 2)

X 1 6
3 5 7
4 X 2

* From 7(1, 2), Go up rt(1st row, no column), so take a left
and fill the unfilled node (0, 0)

8 1 6
3 5 7
4 X 2

* From 8(0,0), take up rt( No row, 1st column), come down
and fill the unfilled node at ( 2, 1)

8 1 6 sum = 15
3 5 7 sum = 15
4 9 2 sum = 15

sum 15 15 15

Diagonal sum = 15

Fallow the same procedure for 5X5, 7X7 square.

Is This Answer Correct ?    8 Yes 3 No

how can we design a magic square in c++?or suggest me the basic idea of it...

Answer / ganesh kundapur

void check(int *i,int *j,int n)
{
if(*i<0 && *j>=n) {
*i=*i+2;
*j=*j-1;
}
if(*i<=0 && *j<n)
*i=n-1;
if(*i>=0 && *j>=n)
*j=0;
}

/* n is the order of matrix 1, 3, 5... */
void DrawMagicTriangle(int n)
{
int **m;
int i, j, t, k = 0;

m=(int **)malloc(n*sizeof(int));
for(i=0; i<n; i++)
*(m+i)=(int *)malloc(n*sizeof(int));

for(i=0; i<n; i++)
for(j=0; j<n; j++)
m[i][j]=0;
i=0;
j=n/2;
for(t=0; t<n*n; t++) {
m[i][j]=++k;
i--;
j++;

if(i>=0 && j<n && m[i][j]!=0) {
i+=2;
j--;
}
else if(i>=0 && j<n && m[i][j]==0) {
i=i;
j=j;
}
else check(&i,&j,n);
}
for(i=0; i<n; i++) {
for(j=0; j<n; j++)
printf(" %d",m[i][j]);
printf("\n");
}
}

Is This Answer Correct ?    3 Yes 0 No

how can we design a magic square in c++?or suggest me the basic idea of it...

Answer / anu

I don't understand above answer.... can anyone explain in
detail...?? plz.....

Is This Answer Correct ?    0 Yes 2 No

Post New Answer

More OOPS Interview Questions

ambiguity regulation of multiple inheritance with example.

1 Answers  


What is the real time example of encapsulation?

0 Answers  


Write a program to find out the number of palindromes in a sentence.

1 Answers   TCS,


What is the real time example of inheritance?

0 Answers  


Why is it so that we can have virtual constructors but we cannot have virtual destructors?

2 Answers  






You attempt to query the data base with this command: SELECT name, salary FROM employee WHERE salary=(SELECT salary FROM employee WHERE last name='Wagner' OR dept no=233) Choose most appropriate option from the following: 1)Sub-queries are not allowed in the where clause. 2)a multiple row sub-query used with a single row comparison operator. 3)a single row query is used with a multiple row comparison operator.

10 Answers   Zycus Infotech,


1. Strong name 2. how to prevent a class from being inherited 3. delegates 4. default modifier for interface 5. default modifier for class 6. base class for exception 7. diff bet trigger and view in sql 8. how to exchange values from one page to another page 9. can multiple catch block ll be executed at same time 10. can u store different data types in an array & array list 11. when we ll use trigger 12. try,catch,finally usage

2 Answers  


what is the difference between containership and inheritence?

1 Answers  


What is the fundamental idea of oop?

0 Answers  


What is the correct syntax for inheritance? 1) class aclass : public superclass 2) class aclass inherit superclass 3) class aclass <-superclass

6 Answers   Wipro,


Write 7 differences between "Public" function and "Private" function?

2 Answers   IBM, Wipro,


What is new keyword in oops?

0 Answers  


Categories