Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- char *x;
- char *y;
- int array[3][4];
- int value;
- void mdump(char *x,char *y);
- int two_d_fetch(int *b, int s, int m, int n,int i,int j);
- void two_d_store(int *b, int s, int m, int n,int i,int j,int value);
- int two_d_fetch_row_major(void *b,int s,int m,int n,int i,int j);
- void two_d_store_rowMajor(void *b,int s,int m,int n,int i,int j,int value);
- int main()
- {
- char n[12]="Dinu Sandaru";
- x=&n[0];
- y=&n[11];
- char ch;
- char *pnt;
- pnt = &ch;
- *pnt='c';
- printf("the memory address of the variable-%p \n",pnt);
- printf("value of the variable-%c \n",*pnt);
- printf("location of the pointer-%p \n", &pnt);
- mdump(x,y);
- printf("\n");
- int *b;
- b=&array[0][0];
- int i;
- int j;
- int k;
- for(i=0;i<4;i++){
- for(j=0;j<3;j++){
- printf("Enter the number- \n");
- scanf("%d",&value);
- //k=sizeof(value);
- k=1;
- //two_d_store(b, k, 4, 3, i, j, value);
- two_d_store_rowMajor(b, k, 4, 3, i, j, value);
- }
- }
- printf("Given Matrix-\n");
- for(i=0;i<3;i++){
- for(j=0;j<4;j++){
- printf("%d ",two_d_fetch(b, k, 3, 4, i, j));
- }
- printf("\n");
- }
- mdump(&array[0][0],&array[2][3]);
- printf("\n");
- printf("Row major order\n");
- for(i=0;i<3;i++){
- for(j=0;j<4;j++){
- printf("%d ",two_d_fetch_row_major(b, k, 3, 4, i, j));
- }
- }
- printf("\n");
- printf("Column major order\n");
- for(i=0;i<4;i++){
- for(j=0;j<3;j++){
- printf("%d ",two_d_fetch(b, k, 3, 4, j, i));
- }
- }
- return 0;
- }
- void mdump(char *x,char *y)
- {
- char *adrs;
- printf("Address Words in Hexadecimal ASCII character\n");
- printf("--------------------------------------------------------------------------------\n");
- for (adrs=x;adrs<=y;adrs++){
- printf("%p \t\t %X\t\t\t\t\t %d\n",adrs,*adrs,*adrs);
- }
- }
- void two_d_store(int *b,int s,int m,int n,int i, int j,int value){
- int *a;
- a=b+s*(n*i+j);
- *a=value;
- }
- int two_d_fetch(int *b, int s, int m, int n,int i, int j){
- int *a;
- a=b+s*(n*i+j);
- return *a;
- }
- void two_d_store_rowMajor(void *b,int s,int m,int n,int i,int j,int value){
- int element = i*n+j;
- memcpy(b+element*s,&value,s);
- }
- int two_d_fetch_row_major(void *b,int s,int m,int n,int i,int j){
- int element = i*n+j;
- return b+element*s;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement