#include <iostream> using namespace std; class MATRIX { int m; int sum; int a[40][40]; public: MATRIX(int x[][40],int k) { m = k; for(int i = 0;i<m;i++) { for(int j =0;j<m;j++) { a[i][j] = x[i][j]; } } sum = 0; } void process(); void show(); }; void MATRIX::process() { int i,j; for(i=0;i<m;i++) for(j=0;j<m;j++) { if((i==j)||(i+j==m-1)) continue; sum+=a[i][j]; } } void MATRIX::show() { for(int i=0;i<m;i++) { for(int j=0;j<m;j++) cout<<a[i][j]<<'/t'; cout<<endl; } cout<<"sum = "<<sum<<endl; } struct LinkNode { int row; int column; int data; LinkNode *next; }; void list (LinkNode *&p,int s[][4],int x,int y) { LinkNode* t; for(int i=0;i <x;i++) for(int j=0;j <y;j++) { if(i==0&&j==0) { p=new LinkNode; p-> row=i; p-> column=j; p-> data=s[i][j]; t=p; } else { LinkNode* temp=new LinkNode; temp->row=i; temp->column=j; temp->data=s[i][j]; t->next=temp; t=temp; //delete temp; } } t->next=NULL; } int main() { int b[40][40] = {{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}}; //cout<<sizeof(b)<<endl; MATRIX v(b,4); v.process(); v.show(); LinkNode *head; int a[][4] = {{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}}; list(head,a,4,4); for(LinkNode* s=head;s;s=s->next) { cout <<s-> data << " "; } delete head; return 0; }