Hãy tìm vị trí giá trị âm lớn nhất trong mảng các số thực

#include

#include

using namespace std;

void nhapmang(int a[], int &n)

{ printf("nhap so phan tu :" );

  scanf("%d",&n);

  for(int i=0;i

  { printf(" phan tu thu %d :",i);

    scanf("%d",&a[i]);

  }

}

void xuatmang(int a[],int n)

 {

  for(int i=0;i

    {

        printf("%d \t",a[i]);

     }

 }

int timphantuamnhonhat(int a[],int n)

{

int ln;

for(int i=0;i

{

if(a[i]<0)

{

ln=a[i];

for(int j=0;j

{

if(a[j]>ln && a[j]<0) 

 ln=a[j];

}

}

}

return ln;

}

int main()

{

int a[50],n;

nhapmang(a,n);

xuatmang(a,n);

printf("phan tu am lon nhat la: %d",timphantuamnhonhat(a,n));

return 0;

}

This entry is part 41 of 69 in the series Học C Không Khó

81 / 100

Bài toán: Nhập vào mảng một chiều. Hãy tìm số lớn nhất trong mảng, tìm số nhỏ nhất trong mảng.

  • Input
  • Output

Viết chương trình tìm số lớn nhất trong mảng

Để tìm số lớn nhất trong mảng ta thực hiện các bước như sau

  • Khởi tạo giá trị max=a[0]
  • Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị lớn max thì ta tiến hành gán giá trị đó cho max.
  • Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của max
  • Hàm max sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).
  • Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.

Code tham khảo cách viết hàm tìm giá trị lớn nhất trong mảng như sau

int max(int a[], int n)

{

    int max = a[0];

    for (int i = 1; i < n; i++)

        if (max < a[i])

            max = a[i];

    return max;

}

Viết chương trình tìm số nhỏ nhất trong mảng

Tương tự như trên ta cũng làm lần lượt các bước

  • Khởi tạo giá trị min=a[0]
  • Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị nhỏ hơn min thì ta tiến hành gán giá trị đó cho min.
  • Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của min.
  • Hàm min sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).
  • Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.

Code tham khảo cách viết hàm tìm giá trị nhỏ nhất như sau

int min(int a[], int n)

{

    int min = a[0];

    for (int i = 1; i < n; i++)

        if (min > a[i])

            min = a[i];

    return min;

}

Sau khi viết được hai hàm tính min, max thì chương trình của chúng ta đã có thể giải quyết được bài toán ở trên.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

#include

void nhap(int a[], int n)

{

    for (int i = 0; i < n; i++)

    {

        printf("Nhap vao phan tu a[%d]: ", i);

        scanf("%d", &a[i]);

    }

}

int max(int a[], int n)

{

    int max = a[0];

    for (int i = 1; i < n; i++)

        if (max < a[i])

            max = a[i];

    return max;

}

int min(int a[], int n)

{

    int min = a[0];

    for (int i = 1; i < n; i++)

        if (min > a[i])

            min = a[i];

    return min;

}

int main()

{

    int a[1000];

    int n;

    printf("\nNhap n = ");

    scanf("%d", &n);

    nhap(a, n);

    printf("\nMax = %d", max(a, n));

    printf("\nMin = %d", min(a, n));

    return 0;

}

Nhap n = 5

Nhap vao phan tu a[0]: 12

Nhap vao phan tu a[1]: 16

Nhap vao phan tu a[2]: 19

Nhap vao phan tu a[3]: 32

Nhap vao phan tu a[4]: 14

Max = 32

Min = 12

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi! Theo dõi lập trình không khó tại: