Đe quy part 1( thao tác thên mãng 1 chiều )

#include<iostream> using namespace std; // Cách 1 sử dụng đệ quy thường void nhap1(int *a,int n) { if(n==0) { return ; } nhap1(a,n-1); cout<<"nhap a["<<n-1<<"]=";cin>>a[n-1]; } //Cách 2 sử dụng đệ quy đuôi có vẽ nhanh hơn và dễ hơn tác giả khuyến cáo nên sử dụng đệ quy đuôi này vì thao tác nhanh ngọn lẹ hơn void nhap2(int *a,int n,int i=0) { if(i==n) { return ; } cout<<"Nhap Vao Phan Tu Thu a["<<i<<"]"; cin>>a[i]; nhap2(a,n,i+1); } void xuat(int *a,int n,int i=0) { if(i==n) { return; } cout<<"\t"<<a[i]; xuat(a,n,i+1); } int tinhtong(int *a,int n,int i=0,int tong=0) { if(i==n) return tong; return tinhtong(a,n,i+1,tong+a[i]); } int timmax(int *a,int n,int i=0,int max=0) { if(i==n) return max; return timmax(a,n,i+1,max>a[i]?max:a[i]); } int timmin(int *a,int n,int i=0,int min=INT_MAX) { if(i==n) return min; return timmin(a,n,i+1,a[i]<min?a[i]:min); } int DemSoLuongCacSoChan(int *a,int n,int i=0,int idx=0) {/* cách 1 if(i==n) return idx; if(a[i]%2==0) idx++; return DemSoLuongCacSoChan(a,n,i+1,idx=0); */ //cách 2 if(i==n) return idx; return DemSoLuongCacSoChan(a,n,i+1,a[i]%2==0?idx+1:idx); } void hoanvi(int &a,int &b) { int c=a; a=b; b=c; } void xapxeptangdan(int *a,int n,int i=0) { if(i==n-1) { return; } for(int k=i+1;k<n;k++) { if(a[i]>a[k]) { hoanvi(a[i],a[k]); } } return xapxeptangdan(a,n,i+1); } int main() { int *a=new int; //nhap1(a,3); nhap2(a,5); xuat(a,5); cout<<"\n"<<tinhtong(a,5); cout<<endl; cout<<"max a"<<timmax(a,5); cout<<"\nmin a"<<timmin(a,5); cout<<"\n"<<DemSoLuongCacSoChan(a,5); xapxeptangdan(a,5); cout<<endl; xuat(a,5); system("pause"); return 0; delete[] a;// giai phong nguyen cai mang }

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.