Yêu cầu:
Viết hàm tìm vị trí phần tử có giá trị x xuất hiện cuối cùng trong mảng.
Thuật toán:
Viết hàm có tham số đầu vào là mảng 1 chiều và giá trị x, giá trị trả về là vị trí phần tử có giá trị x xuất hiện cuối cùng trong mảng, nếu không có phần tử nào phù hợp thì trả về -1
Code:
/************************************************************ * Author: VNCODING * History * 2014/10/05 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" #define LEN_MAX 100 // do dai toi da cua mang int srchPos(int A[], int x, int len); void main() { int arr[LEN_MAX]; int n, x; int i; int pos; do { printf("\nNhap kich thuoc mang: "); scanf("%d", &n); } while (n > LEN_MAX); for (i = 0; i < n; i++) { printf("\nA[%d] = ", i); scanf("%d", &arr[i]); } //Nhap phan tu x printf("\nNhap x: "); scanf("%d", &x); pos = srchPos(arr, x, n); if(pos != -1) printf("\n%d xuat hien tai vi tri cuoi mang A la: %d", x, pos); else printf("\n%d khong xuat hien trong mang A", x); getch(); } int srchPos(int A[], int x, int len) { int i, pos = -1; for (i = 0; i < len; i++) if (x == A[i]) pos = i+1; return pos; }
Kết quả:
Nhap kich thuoc mang: 5 A[0] = 2 A[1] = 1 A[2] = 9 A[3] = 2 A[4] = 1 Nhap x: 1 1 xuat hien tai vi tri cuoi mang A la: 5
Giúp e với ạ
Viết ct nhập vào 1 dãy số n nhập giá trị x in ra vị trí của x xuất hiện trong mảng A
Hi TrúcLinh
Đây là hàm tìm vị trí của x trong mảng số nguyên.
trường hợp có hai phần tử trở lên trong mảng có cùng giá trị thì làm thế nào bạn ơi? mình thử thì hàm trên báo không tìm thấy. hoặc chỉ in ra vị trí phần tử sau, giờ nếu mình muốn in ra từng vị trí một thì làm sao bạn nhỉ. thanks you
Conio.h hình như dùng cho DOS tuyệt chủng r cơ mà anh?
Đúng vậy em, thư viện conio.h, stdio.h chỉ support trên DOS, ko support trên Win32 application.
Tuy nhiên, các bài tập C/C++ được viết dạng console application (DOS), nên vẫn support em nhé,
Nhập 1 mảng n số nguyên. In giá trị phần tử đầu tiên và phần tử cuối cùng trong mảng.