Viết Hàm Trả Về Phần Tử Chẵn Lớn Nhất Trong Mảng Có N Phần Tử Bằng ... Trang chủ » Tìm Phần Tử Chẵn Lớn Nhất Trong Mảng » Viết Hàm Trả Về Phần Tử Chẵn Lớn Nhất Trong Mảng Có N Phần Tử Bằng ... Có thể bạn quan tâm Tìm Phần Tử Chẵn Nhỏ Nhất Trong Mảng Tìm Phần Tử Yên Ngựa Tìm Pháo Bông ở đâu Tìm Phát Biểu đúng Tìm Phát Biểu đúng Khi Nói Về Tia Hồng Ngoại viết hàm trả về phần tử chẵn lớn nhất trong mảng có n phần tử bằng đệ qui programming c TranPhuong (TranPhuong) March 2, 2015, 10:41am #1 ad và các bạn giup hộ e bài này vs: viết hàm trả về phần tử chẵn lớn nhất trong mảng có n phần tử bằng đệ qui. nếu ko tìm đc thì trả về -1. 3 Likes ltd (Lê Trần Đạt) October 23, 2014, 11:28am #2 #include <stdio.h> /* * int* array: mang phan tu * int n: so luong phan tu * int i: index * int* max: phan tu chan lon nhat * max == -1 neu khong co phan tu lon nhat */ int chan_lon_nhat(int* array, int n, int i, int* max) { if (i == n) // cuoi' mang?, return max return *max; int phan_tu = *(array + i);// lay phan tu vi tri i if ( phan_tu%2 == 0) // neu la so chan if (*max < phan_tu) // lon hon max *max = phan_tu; // cap nhat max return chan_lon_nhat(array, n, ++i, max); // tinh tiep voi ++i } int main() { int array[] = {1,2,3,4,5,6,7,8,9}; // khoi tao mang int max = -1; // gan max bang -1 // in ra printf("Phan tu chan lon nhat = %d", chan_lon_nhat(array,sizeof(array)/sizeof(int),0,&max)); return 0; } 7 Likes tuancoi2506 (Phạm Hoàng Tuấn) October 23, 2014, 3:54pm #3 Đây là cách mình được thầy Nguyễn Tấn Trần Minh Khang dạy, khá hay, bạn có thể tham khảo. // ChanLonNhat_DeQuy.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" int ChanLonNhat(int * a, int n); int _tmain(int argc, _TCHAR* argv[]) { int *a; int n; std::cout << "Nhap n: "; std::cin >> n; a = new int(n); for (int i = 0; i < n; i++) { std::cout << "Nhap a[" << i << "] : "; std::cin >> a[i]; } int temp = ChanLonNhat(a, n); if (temp == -1) std::cout << "Mang khong co so chan" << std::endl; else std::cout << " Ket qua: " << temp <<std::endl; system("pause"); return 0; } int ChanLonNhat(int * a, int n) { if (n == 0) return -1; //Mang rong, khong ton tai so chan if (n == 1) { if (a[0] % 2 == 0) return a[0]; else return -1; } if (a[n - 1] % 2 == 0 && a[n - 1] > ChanLonNhat(a, n - 1)) return a[n - 1]; else return ChanLonNhat(a, n - 1); } 2 Likes TranPhuong (TranPhuong) October 29, 2014, 2:10pm #4 hihi. cảm ơn add và các bạn. 1 Like TranPhuong (TranPhuong) October 29, 2014, 2:34pm #5 add Dat oi, e ko hiểu câu lệnh lấy phân tử trong mảng. vs cả add dùng con trỏ nhưng ko dùng con trỏ có làm sao ko?. em sửa lại code của add cho e dễ hiểu tí. #include<stdio.h> #include<conio.h> int Chan_lon_nhat(int A[],int n, int i,int max) { if(i==n) return max; if((A[i]%2==0) && (A[i]>max)) max=A[i]; return Chan_lon_nhat(A,n,++i,max); } int main() { int A[]={1,2,3,4,5,6,7,8,9,10,11,13}; int max=-1; printf ("\n Phan tu chan lon nhat trong mang: %d",Chan_lon_nhat(A,sizeof(A)/sizeof(int),0,max)); getch(); return 0; } 1 Like ltd (Lê Trần Đạt) October 29, 2014, 2:37pm #6 TranPhuong: e ko hiểu câu lệnh lấy phân tử trong mảng A[i] tương đương với *(array + i). Vậy là được rồi TranPhuong: dùng con trỏ nhưng ko dùng con trỏ có làm sao ko À được, như vậy thì max không thay đổi giá trị, làm vậy cũng được. Sửa lại vậy là hiểu code rồi đó. 1 Like TranPhuong (TranPhuong) October 29, 2014, 2:42pm #7 Người thảo luận để tìm ra cách giải hay cho một bài toán khó sẽ trở thành lập trình viên giỏi. Người hay hỏi bài tập thì không. 2 Likes ltd (Lê Trần Đạt) October 29, 2014, 2:46pm #8 Đó chính là cái mọi người ở http://daynhauhoc.com muốn hướng đến đó. Lần sau đặt câu hỏi nhớ thể hiện là mình đã nghiên cứu trước nha. Lần này xí xóa :)) 3 Likes TranPhuong (TranPhuong) October 29, 2014, 2:48pm #9 hehe. tại e làm mãi ko ra. lần này xí xóa. ok ok. thank add!!! 2 Likes ltd (Lê Trần Đạt) October 29, 2014, 2:53pm #10 À, cho anh sửa thêm cái nữa. Ad là viết tắt của admin. Admin là viết tắt của administrator. Add là động từ “thêm vào” Anh tên Đạt, ở nhà mọi người hay gọi anh là ad cho nhanh, có nghĩa là Anh Đạt. Giờ lên FB ai cũng gọi ad thấy kỳ kỳ sao đó. 2 Likes TranPhuong (TranPhuong) October 29, 2014, 2:58pm #11 thì a là admin của diễn đàn còn gì. . còn cái add là e viết nhầm. ok? 1 Like ltd (Lê Trần Đạt) October 29, 2014, 2:58pm #12 haha, thấy kỳ kỳ, em cứ ghi @ltd là anh sẽ được notify à TranPhuong (TranPhuong) October 29, 2014, 3:03pm #13 rồi rồi. lần nữa thank ad và các bạn. 3 Likes DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Tìm Phần Tử Chẵn Lớn Nhất Trong Mảng Tìm Số Chẵn Lớn Nhất/nhỏ Nhất Trong Mảng Hãy Liệt Kê Các Vị Trí Chẵn Lớn Nhất Trong Mảng - Lập Trình Không Khó Vị Trí Chẵn Lớn Nhất Trong Mảng 1 Chiều C++ - 24h68 Thuật Toán Tìm Số Chẵn Lớn Nhất Nhỏ Hơn Mọi Giá Trị Lẻ Có Trong Mảng Tìm Phần Tử Lớn Nhất Trong Mảng C Tìm Vị Trí Các Phần Tử Chẵn Lớn Nhất Trong Mảng Tìm Số Chẵn Lớn Nhất - 123doc [C] 169 Hãy Tìm Số Chẵn Lớn Nhất Nhỏ Hơn Mọi Giá Trị Lẻ Có Trong ... Mảng 1 Chiều,Tim Số Chẵn Lớn Nhất, Số Lẽ Nhỏ Nhất…. Tìm Phần Tử Lớn Nhất Trong Mảng Một Chiều Bằng C / C++ - Freetuts Tìm Vị Trí Của Phần Tử Lớn Nhất Trong Mảng Một Chiều Bằng C / C++ Tìm Số Chẵn Cuối Cùng Trong Mảng C - Lập Trình Từ Đầu