• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 264
  • Last Modified:

array

given an array x[10][10] with initial values, compute the sum of all:-
a)the diadonal elements;
b)the square of the elements in the even rows(i.e., rows 2,4,6,8,10)
c)the square root of the elements in the odd columns(i.e.,columns 1,3,5,7,9).
0
samuelccs
Asked:
samuelccs
1 Solution
 
scrapdogCommented:
#include <math.h>

//assuming x[row][column]
//s is squares, sr is square root, return value is diagonal elements

int calculate(int *x[10][10], int *s, int *sr) {
int i,j,k, sum=0;
*s=0; *sr=0;
for(i=0,j=9;i<10;i++ ,j--){
  sum+=*x[i][i]+*x[i][j];
  for(k=0;k<9;k++) if(i%2)      *s+=*x[i][k]**x[i][k]; else *sr+=sqrt(*x[k][i]);
}
  return(sum-=*x[4][4]);
}
0
 
dpuckettCommented:
Hey ScrapDog, keep doing this guys homework and you'll have to stay after school :)
0
 
_Canidae_Commented:
Hehehe, someone obviously hasn't been paying attention during his programming classes.
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
aj1070798Commented:
Class project folks - I set it - beware!
0
 
rsongylCommented:
Well you can do this .. it is shorter
Question (A)
printing from top-left to bottom right
for index = 1 to MAX do
    print(numbers[index][index])
end for
printing from bottom-left to top-right
for diag=1 to MAX do
    print(numbers[MAX-diag+1][diag])
enfor

Question (B)
index2=0
for index=1 to MAX
    sum=sum+(numbers[index][index2]*numbers[index][index2])
    index=index+2
    index2++
endfor
   
Question (C)
I think the answer above is quite ok to follow. Most importantly must understand the concept
0
 
samuelccsAuthor Commented:
i am sorry, sir. i just want to have more opinion and more alternatives to do one programming work. i'll promise that i will not copy the direct answer
0
 
viktornetCommented:
samuel, your teacher gotcha right at the place of crime :)

Aren't you gonna accept your teacher's answer now? :))
0
 
viktornetCommented:
a)the diadonal elements;

int sum = 0;

for (int i = 0; i < 10; i++)
  sum += array[i][i];

b)the square of the elements in the even rows(i.e., rows 2,4,6,8,10)

int sum = 0;

for (int j = 2; j < 10; j += 2) {
  for (int i = 0; i< 10; i++)
    sum += sqr(array[j][i]);
}

c)the square root of the elements in the odd columns(i.e.,columns 1,3,5,7,9).

int sum = 0;

for (int j = 1; j < 10; j += 2) {
  for (int i = 0; i< 10; i++)
    sum += sqrt(array[j][i]);
}

Hope this helps.

-Viktor
--Ivanov
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

KuppingerCole Reviews AlgoSec in Executive Report

Leading analyst firm, KuppingerCole reviews AlgoSec's Security Policy Management Solution, and the security challenges faced by companies today in their Executive View report.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now