第三次小考. #include using namespace std; int aaa(int *ib,int a1,int a2) { int u,v; int...

30
第第第第第

Upload: kaylee-fogg

Post on 14-Dec-2015

237 views

Category:

Documents


1 download

TRANSCRIPT

第三次小考

#include<iostream> using namespace std;

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

int main() { int ia[10]={0,2,3,6,8,6,12,28,16,11}; cout<<aaa(ia,0,9)<<"\n"; return 0; }

aaa(ib,0,9)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=9

m=(0+9)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 4

a1=0 , a2=9 沒有 return

傳入 aaa(ib,0,4)

aaa(ib,0,9)

aaa(ib,0,4)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=4

m=(0+4)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 2

a1=0 , a2=4 沒有 return

傳入 aaa(ib,0,2)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=2

m=(0+2)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 1

a1=0 , a2=2 沒有 return

傳入 aaa(ib,0,1)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=1

m=(0+1)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 0

a1=0 , a2=1 沒有 return

傳入 aaa(ib,0,0)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)

aaa(ib,0,0)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=0

m=(0+2)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 1

a1=0 , a2=0return ib[0]

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)

aaa(ib,0,0)

return ib[0] (ib[0]=0)

u=aaa(ib,0,0)=0

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=1

m=(0+1)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 0

a1=0 , a2=1 沒有 return

aaa(ib,0,0) return ib[0]所以 u=ib[0] (u=0)

u=0

傳入 aaa(ib,1,1)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=1 , a2=1

m=(1+1)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 1

a1=a2=1return ib[1]

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

v=aaa(ib,1,1)=2

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=1

m=(0+1)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 0

a1=0 , a2=1 沒有 return

傳入 aaa(ib,0,0)

u = 0

v = aaa(ib,1,1)

v = 2

u=0 ,v = 2v>u return v (v=2)

v>ureturn v (v=2)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)u=2

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=2

m=(0+2)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 1

a1=0 , a2=2 沒有 return

u=aaa(ib,0,1)=2

u=2

傳入 aaa(ib,2,2)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)u=2

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

aaa(ib,2,2)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=2 , a2=2

m=(2+2)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 2

a1=a2=2return ib[2] (ib[2]=3)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)

aaa(ib,0,1)u=2

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

aaa(ib,2,2)v=3

return ib[2] (ib[2]=3)

v=aaa(ib,2,2)=3

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=2

m=(0+2)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 1

a1=0 , a2=2 沒有 return

u=aaa(ib,0,1)=2

u=2

傳入 aaa(ib,2,2)

v=3

u=2 ,v = 3v>u return v (v=3)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)u=3

aaa(ib,0,1)u=2

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

aaa(ib,2,2)v=3

return ib[2] (ib[2]=3)

v>ureturn v (v=3)

int aaa(int *ib,int a1,int a2) { int u,v; int m=(a1+a2)/2; if(a1==a2)return ib[a1]; u=aaa(ib,a1,m); cout<<"u="<<u<<"\n"; v=aaa(ib,m+1,a2); cout<<"v="<<v<<"\n"; if(u>v)return u;else return v; }

傳入參數 a1=0 , a2=4

m=(0+4)/2 ……因為 m 屬於 int ,所以 m 等於整數部份

m = 2

a1=0 , a2=4 沒有 return

傳入 aaa(ib,0,2)

aaa(ib,0,2) = 3u = 3

傳入 aaa(ib,3,4)

aaa(ib,0,9)

aaa(ib,0,4)

aaa(ib,0,2)u=3

aaa(ib,0,1)u=2

aaa(ib,0,0)u=0

return ib[0] (ib[0]=0)

aaa(ib,1,1)v=2

return ib[1] (ib[1]=2)

aaa(ib,2,2)v=3

return ib[2] (ib[2]=3)

v>ureturn v (v=3)

aaa(ib,3,4)

加油 ~~!!

繼續做下去一定會是以下結果

aaa(ib,0,9)28

aaa(ib,0,4)u=8

aaa(ib.5,9)v=28

aaa(ib,0,2)u=3

aaa(ib,3,4)v=8

aaa(ib,0,1)u=2

aaa(ib,2,2)v=3

aaa(ib,0,0)u=0

return ib[0]

aaa(ib,1,1)v=2

return ib[1]

return ib[2]

aaa(ib,3,3)u=6

aaa(ib,4,4)v=8

return ib[3] return ib[4]

aaa(ib,0,9)28

aaa(ib,0,4)u=8

aaa(ib.5,9)v=28

aaa(ib,5,7)u=28

aaa(ib,5,6)u=12

aaa(ib,5,5)u=6

return ib[5]

aaa(ib,6,6)v=12

return ib[6]

aaa(ib,6,7)v=28

aaa(ib,6,6)u=12

return ib[6]

aaa(ib,7,7)v=28

return ib[7]

aaa{ib,8,9)v=16

aaa(ib,8,8)u=16

return ib[8]

Aaa(ib,9,9)v=11

return ib[9]