創作內容

10 GP

C語言 二維陣列+指標轉置

作者:DIS黒き銃神(祭絲tama子)│2020-04-20 22:45:42│巴幣:20│人氣:340
其實是別人寫的   先存在這裡


1.
#include <stdio.h>
#include <stdlib.h>
void transpose(int *ary);

int main(){
    int num[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int i,j;
    
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",num[i][j]);
        printf("\n");
    }
    
    transpose(num[0]);
    
    printf("\n");
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",num[i][j]);
        printf("\n");
    }
    printf("\n");
    
    system("PAUSE");
    return 0;
}

void transpose(int *ary){
    int ary2[3][3];
    int *t = ary2[0];
    int i,j;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            *(t+(i*3+j)) = *(ary+(j*3+i));
    
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            *(ary+(i*3+j))= *(t+(i*3+j));
    return;
}

2.
#include <stdio.h>
#include <stdlib.h>
void transpose(int ary[][3]);

int main(){
    int num[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int i,j;
    
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",*(*(num+i)+j));
        printf("\n");
    }
    
    transpose(num);
    
    printf("\n");
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",*(*(num+i)+j));
        printf("\n");
    }
    printf("\n");
    
    system("PAUSE");
    return 0;
}

void transpose(int ary[][3]){
    int ary2[3][3]={0};
    int i,j;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
*(*(ary2+i)+j) = *(*(ary+j)+i);
    
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            *(*(ary+i)+j)= *(*(ary2+i)+j);
    return;
}

3.
#include <stdio.h>
#include <stdlib.h>
void transpose(int ary[][3]);

int main(){
    int num[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int i,j;
    
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",num[i][j]);
        printf("\n");
    }
    
    transpose(num);
    
    printf("\n");
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",num[i][j]);
        printf("\n");
    }
    printf("\n");
    
    system("PAUSE");
    return 0;
}

void transpose(int ary[][3]){
    int ary2[3][3];
    int i,j;
    for(i=0;i<3;i++){
        for(j=i+1;j<3;j++){
            int t = *(*(ary+i)+j);
            *(*(ary+i)+j) = *(*(ary+j)+i);
            *(*(ary+j)+i)=t;
        }
    }
    
    return;
}

4.
#include <stdio.h>
#include <stdlib.h>
void transpose(int *arg);

int main(){
    int *num=(int *)malloc(9*sizeof(int*));
    int i,j;
    for(i=0;i<9;++i){
     *(num+i)=i+1;
    }
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
            printf("%d",*(num+i*3+j));
        printf("\n");
    }
    transpose(num);
    printf("\n");
    for(i=0;i<3; i++){
        for(j=0;j<3;j++)
             printf("%d",*(num+i*3+j));
        printf("\n");
    }
    printf("\n");

    system("PAUSE");
    return 0;
}
void transpose(int *arg ){
     int i,j;
    for(i=0;i<3; i++){
        for(j=i+1;j<3;j++){
        int temp;
        temp=*(arg+i*3+j);
        *(arg+i*3+j)=*(arg+j*3+i);
        *(arg+j*3+i)=temp;
        }
    }
    return ;
}
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4756101
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:C語言

留言共 11 篇留言

玥晴 Luna (#ΦωΦ#)
雪霸

04-20 22:53

DIS黒き銃神(祭絲tama子)
並沒有==04-20 22:58
村民秋
外星文

04-20 22:56

DIS黒き銃神(祭絲tama子)
邏輯文04-20 22:58
咕嚕咕嚕咕嚕鯛

04-20 23:00

DIS黒き銃神(祭絲tama子)
並沒有 我爛04-20 23:12
김석진❤FancyJin
我曾經看得懂一點,現在只覺得是火星文

04-20 23:05

DIS黒き銃神(祭絲tama子)
以前應該教VB吧==04-20 23:12
虛幻x謊言
科技人才

04-20 23:54

DIS黒き銃神(祭絲tama子)
廢物人才04-21 00:10
無意識的抹茶嘍(本我)
( ºω。)

04-21 03:12

DIS黒き銃神(祭絲tama子)
( ˘•ω•˘ )04-21 03:13
鏡野七罪
看不懂#NEKO

04-21 09:48

zero
別欺負我國中年紀小( ˘•ω•˘ )

04-21 17:27

費玟
話說其實你可以把程式碼貼在這裡
https://ren1244.github.io/HighlightToBBCode/
然後發文的時候切成"原始碼"貼上去
這樣排版會比較好看

不然你直接從codeblock貼上來通常排版都會跑掉

06-27 16:29

DIS黒き銃神(祭絲tama子)
我電腦看排版是正常的06-27 18:24
費玟
雖然看起來是沒跑啦
不過直接貼上來的人我都會想要叫他們先去弄好排版再來XDD
(小屋我不知道有沒有用就是了 至少哈啦版貼文是可以這樣搞的)

06-27 16:30

費玟
我看也是正常的
就只是我強迫症發作(?

06-27 18:56

我要留言提醒:您尚未登入,請先登入再留言

10喜歡★vbnnbv123cs 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:每天EXP日記-1... 後一篇:每天EXP日記-2...

追蹤私訊切換新版閱覽

作品資料夾

ilikemousse好基友
珍奶好喝~~~~看更多我要大聲說昨天21:19


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】