1. Bài tập tìm vị trí phần tử nhỏ nhất trong mảng C
Để làm giải bài tập này ta cần dùng các cách nhập xuất cơ bản, cách sử dụng mảng một chiều trong C và các phép toán học cơ bản.
Đầu vào sẽ là các phần tử của mảng, yêu cầu của bài toán là tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C.
2. Lời giải
Để giải được bài tập tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C bạn phải có kiến thức về toán học cơ bản, có kiến thức về nhập xuất cơ bản và cách sử dụng mảng một chiều trong C.
Các bước thực hiện bài toán như sau:
Bước 1: khai báo biến int n dùng để nhập số phần tử của mảng, khai báo mảng tĩnh int a[100], khai báo biến int vt dùng để tìm vị trí của số nhỏ nhất trong mảng.
Bước 2: Nhập vào số phần tử của mảng nếu n<1 hoặc n>100 yêu cầu nhập lại.
Bước 3: Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1, nhập vào từ bàn phím giá trị cho các phần tử trong mảng.
Bước 4: Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1, in các phần tử trong mảng ra màn hình.
Bước 5: Khai báo biến int min = a[0] dùng để tính giá trị nhỏ nhất trong mảng; Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1 trong vòng for ta dùng điều kiện if nếu a[i] < min thì gán giá trị của min = a[i] và giá trị của vt = i.
Bước 6: In vt ra màn hình
Chương trình giải bài tập tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C như sau :
#include<stdio.h> int main() { // khai bao n int n; // khai bao mang mot chieu a co toi da 100 phan tu int a[100]; // khai bao vt int vt; // nhap vo so phan tu cua mang do{ printf("Nhap so phan tu mang:"); scanf("%d", &n); }while(n<1 || n>100); //nhap vao cac phan tu cua mang for(int i=0; i< n; i++) { printf("Nhap a[%d] = ",i); scanf("%d", &a[i]); } printf("Mang sau khi nhap la:\n"); //hien thi mang ra man hinh for(int i=0; i< n; i++) { printf("%d \t",a[i]); } //khai bao bien min = a[0] dung de tinh min trong mang int min = a[0]; for(int i=0; i< n; i++) { if(a[i]<min)// neu a[i] < min gan gia tri cua min = a[i] { min = a[i]; vt = i; } } printf("\nVi tri cua min trong mang la:\n", vt); }
Ví dụ tôi nhập mảng có 5 phần tử lần lượt là : 10, 22, 9, 50, 11
Kết quả:
Nhap so phan tu mang:5 Nhap a[0] = 10 Nhap a[1] = 22 Nhap a[2] = 9 Nhap a[3] = 50 Nhap a[4] = 11 Mang sau khi nhap la: 10 22 9 50 11 Vi tri cua min trong mang la: 2 |