6月4日投影片

第三次小考



















#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)











傳入參數 a1=0,a2=9
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+9)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=4
if(a1==a2)return ib[a1]; a1=0,a2=9 沒有return
傳入aaa(ib,0,4)
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;
}
aaa(ib,0,9)
aaa(ib,0,4)











傳入參數 a1=0,a2=4
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+4)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=2
if(a1==a2)return ib[a1]; a1=0,a2=4沒有return
傳入aaa(ib,0,2)
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)











傳入參數 a1=0,a2=2
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+2)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=1
if(a1==a2)return ib[a1]; a1=0,a2=2沒有return
傳入aaa(ib,0,1)
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)











傳入參數 a1=0,a2=1
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+1)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=0
if(a1==a2)return ib[a1]; a1=0,a2=1沒有return
傳入aaa(ib,0,0)
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)
aaa(ib,0,0)











傳入參數 a1=0,a2=0
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+2)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=1
if(a1==a2)return ib[a1]; a1=0,a2=0return ib[0]
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)
aaa(ib,0,0)
u=aaa(ib,0,0)=0
return ib[0]
(ib[0]=0)











傳入參數 a1=0,a2=1
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+1)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=0
if(a1==a2)return ib[a1]; a1=0,a2=1沒有return
aaa(ib,0,0) return ib[0]
u=aaa(ib,a1,m);
所以 u=ib[0] (u=0)
cout<<"u="<<u<<"\n";
u=0
v=aaa(ib,m+1,a2);
傳入aaa(ib,1,1)
cout<<"v="<<v<<"\n";
if(u>v)return u;else return v;
}
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)











傳入參數 a1=1,a2=1
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(1+1)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=1
if(a1==a2)return ib[a1]; a1=a2=1return ib[1]
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)
v=aaa(ib,1,1)=2











傳入參數 a1=0,a2=1
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+1)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=0
if(a1==a2)return ib[a1]; a1=0,a2=1沒有return
傳入aaa(ib,0,0)
u=aaa(ib,a1,m);
cout<<"u="<<u<<"\n";
u=0
v=aaa(ib,m+1,a2);
v = aaa(ib,1,1)
cout<<"v="<<v<<"\n";
v=2
if(u>v)return u;else return v;
u=0 ,v = 2
v>u return v (v=2)
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
v>u
return v (v=2)
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)











傳入參數 a1=0,a2=2
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+2)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=1
if(a1==a2)return ib[a1]; a1=0,a2=2沒有return
u=aaa(ib,0,1)=2
u=aaa(ib,a1,m);
cout<<"u="<<u<<"\n";
u=2
v=aaa(ib,m+1,a2);
傳入aaa(ib,2,2)
cout<<"v="<<v<<"\n";
if(u>v)return u;else return v;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)
aaa(ib,2,2)











傳入參數 a1=2,a2=2
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(2+2)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=2
if(a1==a2)return ib[a1]; a1=a2=2return ib[2] (ib[2]=3)
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;
}
aaa(ib,0,9)
aaa(ib,0,4)
aaa(ib,0,2)
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)
aaa(ib,2,2)
v=3
return ib[2]
(ib[2]=3)
v=aaa(ib,2,2)=3











傳入參數 a1=0,a2=2
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+2)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=1
if(a1==a2)return ib[a1]; a1=0,a2=2沒有return
u=aaa(ib,0,1)=2
u=aaa(ib,a1,m);
cout<<"u="<<u<<"\n";
u=2
v=aaa(ib,m+1,a2);
傳入aaa(ib,2,2)
cout<<"v="<<v<<"\n";
v=3
if(u>v)return u;else return v;
u=2 ,v = 3
v>u return v (v=3)
}
aaa(ib,0,9)
aaa(ib,0,4)
v>u
return v (v=3)
aaa(ib,0,2)
u=3
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)
aaa(ib,2,2)
v=3
return ib[2]
(ib[2]=3)











傳入參數 a1=0,a2=4
int aaa(int *ib,int a1,int a2)
{
int u,v;
m=(0+4)/2 ……
因為m屬於int,所以m等於整數部份
int m=(a1+a2)/2;
m=2
if(a1==a2)return ib[a1]; a1=0,a2=4沒有return
傳入aaa(ib,0,2)
u=aaa(ib,a1,m);
aaa(ib,0,2) = 3
cout<<"u="<<u<<"\n";
u=3
v=aaa(ib,m+1,a2);
傳入 aaa(ib,3,4)
cout<<"v="<<v<<"\n";
if(u>v)return u;else return v;
}
aaa(ib,0,9)
aaa(ib,0,4)
v>u
return v (v=3)
aaa(ib,0,2)
u=3
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
(ib[0]=0)
return ib[1]
(ib[1]=2)
aaa(ib,2,2)
v=3
return ib[2]
(ib[2]=3)
aaa(ib,3,4)
加油~~!!
繼續做下去一定會是
以下結果
aaa(ib,0,9)
28
aaa(ib,0,4)
u=8
aaa(ib,0,2)
u=3
aaa(ib,0,1)
u=2
aaa(ib,0,0)
u=0
aaa(ib,1,1)
v=2
return ib[0]
return ib[1]
aaa(ib.5,9)
v=28
aaa(ib,3,4)
v=8
aaa(ib,2,2)
v=3
aaa(ib,3,3)
u=6
aaa(ib,4,4)
v=8
return ib[2]
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,8,9)
v=16
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
aaa(ib,7,7)
v=28
return ib[6]
return ib[7]
aaa(ib,8,8)
u=16
Aaa(ib,9,9)
v=11
return ib[8]
return ib[9]