Tìm giá trị lớn nhất, nhỏ nhất của 1 dãy số

Đăng thử, có gì mọi người góp ý nha

#include <iostream>
#include <windows.h>
using namespace std;
void nhapmang(int a[],int n) //ham nhap mang
{
    int i;
    for (i=1; i<=n; i++)
    {
        cout<<"nhap a["<<i<<"]=";
        cin>>a[i];
    }
}
void xuatmang(int a[],int n) //ham xuat mang
{
    int i;
    for(i=1; i<=n; i++)
    {
        cout<<a[i]<<"\t";
    }
}
int giatrilonnhat(int a[],int n) //tinh gia tri lon nhat
{
    int i,lonnhat;
    lonnhat=a[1];
    for (i=2; i<=n; i++)
    {
        if (a[i]>lonnhat)
        {
            lonnhat=a[i];
        }
    }
    return lonnhat;
}
int giatrinhonhat(int a[],int n) //tinh gia tri nho nhat
{
    int i,nhonhat;
    nhonhat=a[1];
    for (i=2; i<=n; i++)
    {
        if (a[i]<nhonhat)
        {
            nhonhat=a[i];
        }
    }
    return nhonhat;
}
int main()
{
    int a[100],n;
    cout<<"nhap so phan tu cua mang:"<<endl;
    cin>>n;
    nhapmang(a,n);
    cout<<"\nmang vua xuat: \n";
    xuatmang(a,n);
    cout<<"\ngia tri lon nhat cua mang la:"<<giatrilonnhat(a,n)<<endl;
    cout<<"gia tri lon nhat cua mang la:"<<giatrinhonhat(a,n)<<endl;
    system("pause");
    return 0;
}

Nhập mảng phải là &a chứ nhỉ

1 Like

Thực ra mình nghĩ code này chỉ cần khai báo mảng a ra ngoài (biến toàn cục), như vậy có thể bỏ tất cả các tham số int a[].

Cảm ơn bạn đã góp ý nhưng mình nghĩ hàm nhập mảng không cần phải truyền tham số đâu

Cảm ơn bạn đã góp ý để mình code thử xem

Chỗ nhập mảng thì nên truyền tham chiếu của n nha bạn void nhapmang(int a[], int &n)

Hàm nhập mảng chỉ dùng để nhập các giá trị của mảng thôi. Các tham số a[] và n không thay đổi gì nên mình nghĩ không cần truyền tham số. Có truyền tham số hay không thì kết quả cũng nhu nhau

Phải truyền luôn bạn :slight_smile:

Có cảm giác như thớt muốn xài biến toàn cục, nhưng bây giờ là năm 2017 rồi :slight_smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?