• Kĩ thuật đặt cờ hiệu.
Viết hàm kiểm tra xem trong ma trận các số nguyên có tồn tại các số nguyên lẻ lớn hơn 100 không?
Giải:
int KiemTraLe (MATRAN a, int d, int c)
{
int flag = 0; //tra ve 1 neu co nguoc lai tra ve 0
for (int i = 0; i < d; i ++ )
for (int j = 0; j < c; j++)
if ( a[i][j] % 2 != 0 && a[i][j] > 100 )
{
flag = 1;
break;
}
return flag;
}
• Kĩ thuật đặt lính canh.
Viết hàm tìm phần tử nhỏ nhất trong ma trận.
Giải:
int Min (MATRAN a, int d, int c )
{
int min = a[0][0];
for ( int i = 0 ; i < d ; i ++ )
for (int j = 0 ; j < c ; j ++)
if ( a[i][j] < min )
min = a[i][j];
return min;
}
• Phương pháp tính tổng.
Viết hàm tính tổng các phần tử trong ma trận.
Giải:
long Tong (MATRAN a, int d, int c)
{
long tong = 0;
for ( int i = 0; i < d; i ++ )
for ( int j = 0; j < c; j ++)
tong + = a[i][j];
return tong;
}
• Phương pháp sắp xếp.
Viết hàm sắp xếp ma trận tăng dần từ trên xuống dưới và từ trái sang phải không dùng mảng phụ.
Giải:
void SapTang(MATRAN a, int d, int c)
{
for (int i = 0; i <= d*c-2; i ++)
for (int j = 0; j <= d*c-1; j ++)
if (a[i/c][i%c] < a[j/c][j%c])
{
int tmp = a[i/c][i%c] ;
a[i/c][i%c] = a[j/c][j%c] ;
a[j/c][j%c] = tmp ;
}
}
• Phương pháp đếm
Viết hàm đếm các phần tử chẵn trong ma trận.
Giải:
int DemChan (MATRAN a, int d, int c)
{
int dem = 0;
for ( int i = 0 ; i < d ; i ++)
for ( int j = 0 ; j < c ; j ++)
if ( a[i][j] % 2 = = 0 )
dem ++;
return dem;
}
0 nhận xét:
Đăng nhận xét