Tạo và so sánh 2 mảng động c++ năm 2024
Yêu cầu bài toánKhai báo cấu trúc biểu diễn thông tin của một thời gian bao gồm: giờ, phút, giây Show Viết chương trình nhập vào 2 thời gian. So sánh 2 thời gian vừa nhập và in ra kết quả. Hướng dẫnBài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bàn toán lập trình cơ bản trong C++. Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source code mẫu để hoàn chỉnh bài tập. Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần bình luận bên dưới bài viết hoặc ở mục Hỏi & Đáp. Source`/ Khai bao cau truc bieu dien thong tin cua mot thoi gian bao gom: gio, phut, giay. Viet chuong trinh nhap vao 2 thoi gian. So sanh 2 thoi gian vua nhap và in ra ket qua! / includeusing namespace std; struct Thoigian { int gio, phut, giay; }; void NhapTG(Thoigian &t) { do { }while(t.gio<0 || t.gio>24);
do
{ }while(t.phut<0 || t.phut>60);
do
{ }while(t.giay<0 || t.giay>60);
}
void XuatTG(Thoigian t)
{
cout<< t.gio << ":" << t.phut << ":" << t.giay;
}
long DoiThoiGian(Thoigian t)
{
return (t.gio*3600 + t.phut*60 + t.giay);
}
void main()
{
Thoigian t1, t2;
cout<<"Nhap thoi gian 1: ";
NhapTG(t1);
cout<<"Nhap thoi gian 2: ";
NhapTG(t2);
long kq1=DoiThoiGian(t1);
long kq2=DoiThoiGian(t2);
cout<<"Thoi gian 1: ";
XuatTG(t1);
cout<<"\nThoi gian 2: ";
XuatTG(t2);
if(kq1>kq2) else else cout<Kết luậnBạn có thể củng cố kiến thức C++ từ khóa Lập trình C++ cơ bản. Hoặc tìm hiểu thêm các bài tập khác trong khóa Bài toán kinh điển trong lập trình Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”. Tải xuốngTài liệuNhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Viết chương trình so sánh 2 thời gian nhập vào và in ra kết quả dưới dạng file PDF trong link bên dưới. Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com Đừng quên like và share để ủng hộ Kteam và tác giả nhé! Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. Trong bài này, Nguyễn Văn Hiếu sẽ cung cấp cho các bạn loạt bài tập mảng 2 chiều có lời giải. Tôi mong rằng bài chia sẻ này giúp các bạn có thể tập luyện và học tốt hơn về phần kiến thức mảng hai chiều. Không dài dòng nữa, chúng ta sẽ bắt đầu với loạt bài tập này ngay thôi nào. Nội dung bài viết này yêu cầu người đọc cần có kiến thức về mảng 2 chiều trong C/C++. Do đó, nếu bạn cần bổ sung kiến thức thì hãy đọc bài học Mảng 2 chiều trong C/C++ trước khi đọc bài này nhé. NỘI DUNG BÀI VIẾT Nhập xuất là bài tập mảng 2 chiều cơ bản nhất mà chúng ta cần phải làm. Mọi bài toán liên quan tới mảng 2 chiều chúng ta đều cần 2 chức năng này. BT1. Nhập vào mảng 2 chiều có kích thước m x n. Hiển thị ma trận vừa nhập ra màn hình. Lời giải: include
includemain() { }BT2. Viết hàm nhập, xuất 1 ma trận kích thước m x n Lời giải: include void NhapMaTran(int a[][100], int m, int n) { for(int i = 0; i < m; i++) }
void XuatMaTran(int a[][100], int m, int n)
{
for(int i = 0; i < m; i++)
{ }
}
int main(){ }Dạng 2. Tìm giá trị lớn nhất/ nhỏ nhất trong mảng 2 chiềuĐây là dạng bài tập mảng 2 chiều cơ bản nhất giúp các bạn luyện tập kiến thức, các bạn khi đã hiểu mảng 2 chiều thì hoàn toán có thể áp dụng các kiến thức từ bài tập mảng 1 chiều để dùng cho mảng 2 chiều. BT3. Nhập vào một ma trận n x m, in ra ma trận vừa nhập dưới dạng bảng. Hiển thị và tính tổng các phần tử trên hàng chẵn của ma trận. Tìm giá trị lớn nhất trên cột 1 của ma trận Lời giải: include
includemain() { //hien thi ma tran vua nhap duoi dang bang // tinh tong pt tren hang chan cua mang // tim max tren cot 1 cua mang }BT4. Viết hàm tìm giá trị lớn nhất, nhỏ nhất trong ma trận Lời giải: include void NhapMaTran(int a[][100], int m, int n) { for(int i = 0; i < m; i++) }
void XuatMaTran(int a[][100], int m, int n)
{
for(int i = 0; i < m; i++)
{ }
}
int PhanTuLonNhat(int a[][100], int m, int n)
{
int max = a[0][0];
for(int i = 0; i < m; i++) return max;
}
int main(){ }Dạng 3. Tính tổng 2 ma trận có cùng kích thướcBT5. Tính tổng hai ma trận có cùng kích thước. Lời giải: include
includemain() { }Dạng 4. Sắp xếp ma trận tăng/ giảm dầnDạng bài tập mảng 2 chiều: sắp xếp mảng, sắp xếp 1 hàng, 1 cột, … BT6. Nhập vào một ma trận n x m, in ra ma trận vừa nhập dưới dạng bảng. Sắp xếp hàng 2 theo chiều giá trị các phần tử giảm dần. Đưa ra màn hình tổng các phần tử trong ma trận. Tìm giá trị lớn nhất trong mảng. Tìm giá trị nhỏ nhất chia hết cho 3 có trong mảng. Lời giải: include
includemain() { // in ra ma tran vua nhap duoi dang bang //sap xep hang 2 trong mang theo chieu giam dan // Dua ra man hinh tong cac phan tu ma tran // gia tri nho nhat chia het cho 3 trong mang }Một số bài tập mảng 2 chiều khácBắt đầu ở đây, để cho ngắn gọn bài viết. Mình sẽ chỉ đưa ra hàm con giải quyết phần đề bài của bài tập mảng 2 chiều tương ứng. Các bạn sẽ tự thêm nó vào hàm main nhé. Mẫu code sử dụng hàm có thể xem ở BT2 và BT4. BT7. Viết hàm tính tổng các số chẵn trong ma trận int TongCacSoChan(int a[][100], int m, int n) { int sum = 0; for(int i = 0; i < m; i++) return sum;
}BT8. Viết hàm liệt kê các số nguyên tố trong ma trận, đếm các số nguyên tố có trong ma trận bool SoNguyenTo(int soA) { }
int DemSoLuongSNT(int a[][100], int m, int n)
{
int dem = 0;
for(int i = 0; i < m; i++) return dem;
}
void LietKeSNT(int a[][100], int m, int n)
{
int dem = 0;
for(int i = 0; i < m; i++) }BT9. Viết hàm xóa một dòng của ma trận. Viết hàm xóa một cột của ma trận void XoaDong(int a[][100], int &m, int n, int r)
{
for(int i=r;i BT10. Viết hàm đổi chỗ 2 hàng của 1 ma trận. Viết hàm đổi chỗ 2 cột của ma trận. void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void DoiCho2Hang(int a[][100], int m, int n, int row1, int row2)
{
if((row1>=0 && row1 BT12. Viết hàm tìm giá trị lớn nhất/ nhỏ nhất trên đường chéo chính của ma trận. void NhapMaTran(int a[][100], int m, int n)
{
for(int i = 0; i < m; i++) 0 Trên đây là một số bài tập mảng 2 chiều do mình tổng hợp lại. Mình sẽ tiếp tục cập nhật các bài tập về mảng 2 chiều tại bài viết này khi có bài tập mới. Chúc các bạn học tập tốt! Xem ngay bộ sưu tập tài liệu lập trình do Lập trình không khó biên soạn: https://github.com/NguyenVanHieuBlog/tai-lieu-lap-trinh |