16
 C C á á c thu c thu t to t to á á n trên m n trên m ng ng hai chi hai chi u u  Nguy  Nguy ễ ễ n  Đông H n  Đông H à à Khoa CNTT Khoa CNTT      ĐH KHTN ĐH KHTN

Thuat Toan Mang 2 Chieu

Embed Size (px)

DESCRIPTION

Thuật toán về mảng 2 chiều

Citation preview

  • CCc thuc thut tot ton trn mn trn mng ng hai chihai chiuu

    NguyNguyn ng Hn ng HKhoa CNTT Khoa CNTT H KHTN H KHTN

  • NNi dungi dung

    DuyDuyt mt mng 2 ching 2 chiuu TTnh tnh tng sng s, t, tch sch s mm TTm kim kimm TTm phm phn tn t lln nhn nht, nht, nh nhnhtt

  • DuyDuyt ht ht ct cc phc phn tn t cca ma mngng

    1 1 2 2 5

    7 5 4 2 5

    7 8 9 3 8

    MMng a[3][5]:ng a[3][5]: so_dong = 3; so_dong = 3; so_cot = 5;so_cot = 5;

  • DuyDuyt ht ht ct cc phc phn tn t cca ma mngng

    for(i = 0; i < so_dong; i++)for(j = 0; j < so_cot; j++){

    /* X l phn t a[i][j] */....

    }

  • DuyDuyt ct cc phc phn tn t trn ctrn cng dng hong dng hoc cc ctt

    for(j = 0; j < so_cot; j++){

    /* X l phn t a[k][j] */....

    }

    Duyt cc phn t trn dng c ch s k

    Duyt cc phn t trn ct c ch s kfor(i = 0; i < so_dong; i++)

    {/* X l phn t a[i][k] */....

    }

  • ng chng cho co ca ma tra ma trn vungn vung

    for(i = 0; i < n; i++){/* X l phn t a[i][i] */

    .... }

    ng cho chnh

    ng cho phfor(i = 0; i < n; i++)

    {/* X l phn t a[n-1-i][i] */

    .... }

  • TTnh tnh tng cng cc phc phn tn t trn 1 dngtrn 1 dng

    int tong = 0;for(j = 0; j < so_cot; j++)

    {tong = tong + a[k][j]

    }

    Tnh tng cc phn t trn dng ch s k

  • TTnh tnh tng cng cc sc s chchn trn n trn ng chng cho cho chnhnh

    int Cheo1Chan (int a[5][5]){

    int tong = 0;for(i = 0; i < 5; i++){

    if(a[i][i]%2 == 0)tong = tong + a[i][i];

    }return tong;

    }

    TTnh tnh tng cng cc sc s chchn trn n trn ng chng cho cho chnhnh

  • TTnh tnh tch cch cc sc s ll trn trn ng chng cho pho ph

    int Cheo2Phu (int a[5][5]){

    int tong = 0;for(i = 0; i < 5; i++){

    if(a[i][i]%2 == 1)tong = tong + a[5-1-i][i];

    }return tong;

    }

    TTnh tnh tng cng cc sc s ll trn trn ng chng cho pho ph

  • TTnh tnh tch cch cc sc s ll trn trn ng chng cho pho ph

    int Cheo2Phu (int a[5][5]){

    int tong = 0;int i,j;for(i = 0; i < 5; i++){

    if(a[i][i]%2 == 1)tong = tong + a[5-1-i][i];

    }return tong;

    }

    TTnh tnh tng cng cc sc s ll trn trn ng chng cho pho ph

  • m cm cc sc s dng trong ph dng trong phn tam gin tam gic phc pha trn a trn ng chng cho cho chnh nh

    int TamGiacTrenDuong (int a[5][5]){

    int dem = 0;int i,j;for(i = 0; i < 5; i++)

    for(j = 0; j < 5; j++){

    if(i 0)dem++;

    }return dem;

    }

    SS ddng 1 bing 1 bin n m m ghi nhghi nhn sn s phphn tn t ththa ia iu kiu kinn iiu kiu kin cn ca ca cc phc phn tn t phpha trn a trn ng chng cho cho chnh lnh l i >ji >j iiu kiu kin sn s dng l dng l a[i][j] > 0a[i][j] > 0

  • TTm kim kim m

    #define SIZE 5int TimTrenCheo2 (int a[SIZE][SIZE], int x){

    int i,j;for(i = 0; i < SIZE; i++)

    for(j = 0; j < SIZE; j++){

    if(i+j

  • TTm phm phn tn t lln nhn nht trong mt trong mng ng

    #define SIZE 5int LonNhat (int a[SIZE][SIZE]){

    int i,j;int max = a[0][0];for(i = 0; i < SIZE; i++)

    for(j = 0; j < SIZE; j++){

    if(a[i][j] > max)max = a[i][j];

    }return max;

    }

    DuyDuyt qua tt qua tt ct c ccc phc phn tn t, d, dng mng mt bit bin max n max lu tr lu trgigi trtr lln nhn nhtt

  • TTm phm phn tn t lln nhn nht trong mt trong mng ng

    #define SIZE 5int LonNhat (int a[SIZE][SIZE]){

    int i,j;int max = a[0][0];for(i = 0; i < SIZE; i++)

    for(j = 0; j < SIZE; j++){

    if(a[i][j] > max)max = a[i][j];

    }return max;

    }

    DuyDuyt qua tt qua tt ct c ccc phc phn tn t, d, dng mng mt bit bin max n max lu tr lu trgigi trtr lln nhn nhtt

  • BBi ti tp p Chng Chng 5: 6,7,8,95: 6,7,8,9