【習題 4.7】
編寫必要的**將乙個陣列賦給另乙個陣列,然後把這段**改用 vector 實現。 考慮如何將乙個 vector 賦給另乙個 vector。
用陣列實現:
#include usingnamespace
std;
intmain( )
;
inta2[size];
for(size_t i=0; ii)
a2[i]=a1[i];
system(
"pause");
return0;
}
用vector實現:
#include #includeusing
namespace
std;
intmain( )
; vector
vec1(a,a+5
); vector
vec2;
for(vector::iterator it=vec1.begin(); it!=vec1.end(); ++it)
vec2.push_back(*it);
system(
"pause");
return0;
}
【習題 4.8】
編寫程式判斷兩個陣列是否相等,然後編寫一段類似的程式比較兩個 vector。
bool judge1(int *a, int *b, intn)
return
true
;}
比較vector:
bool judge2(vector a, vectorb)return
true
;}
【習題 4.9】
編寫程式定義乙個有 10 個 int 型元素的陣列,並以其在陣列中的位置作為各元素的初值。
#include usingnamespace
std;
intmain( )
cout
"pause");
return0;
}
【習題 4.14】
編寫**修改指標的值;然後再編寫**修改指標所指物件的值。
#include #include#include
using
namespace
std;
intmain( )
【習題 4.18】
編寫程式,使用指標把乙個 int 型陣列的所有元素設定為 0。
#include usingnamespace
std;
intmain( )
;
for(int*p=a; p5; p++)
*p=0
;
for(int *p=a; p5; p++)
cout
<<*p
"pause");
return0;
}
【習題 4.25】
編寫程式比較兩個 string 型別的字串,然後編寫另乙個程式比較兩個 c 風格字串的值。
#include #includeusing
namespace
std;
intmain( )
比較兩個 c 風格字串:
#include #include#include
using
namespace
std;
intmain( )
cout
<<"
enter two strings:
"
>s1>>s2; intresult;
result=strcmp(s1,s2);
if(result>0
) cout
<<"\""
<"\""
<<"
is bigger than
"<<"\""
<"\""
if(result<0
) cout
<<"\""
<"\""
<<"
is bigger than
"<<"\""
<"\""
cout
<<"
thay are equal
"
delete s2;
system(
"pause");
return0;
}
【習題 4.28】
編寫程式由從標準輸入裝置讀入的元素資料建立乙個 int 型 vector 物件,然後動態建立乙個與該 vector 物件大小一致的陣列,把 vector 物件的所有元素複製給新陣列。
#include #include#include
using
namespace
std;
intmain( )
cout
<<"
符合要求的陣列為:";
for(int i=0; i)
cout
delete a;
system(
"pause");
return0;
}
【習題 4.30】
編寫程式連線兩個 c 風格字串字面值,把結果儲存在乙個 c 風格字串中。然後再編寫程式連線兩個 string 型別字串,這兩個 string 型別字串與前面 的 c 風格字串字面值具有相同的內容。
#include #includeusing
namespace
std;
intmain( )
改進後的**:
#include #includeusing
namespace
std;
intmain( )
【習題 4.31】
編寫程式從標準輸入裝置讀入字串,並把該串存放在字元陣列中。描述你的程式如何處理可變長的輸入。提供比你分配的陣列長度長的字串資料測試你的程式。
#include#include#include
using
namespace
std;
intmain( )
【習題 4.32】
編寫程式用 int 型陣列初始化 vector 物件。
#include#includeusing
namespace
std;
intmain( )
【習題 4.33】
編寫程式把 int 型 vector 複製給 int 型陣列。
#include#includeusing
namespace
std;
intmain( )
【習題 4.34】
編寫程式讀入一組 string 型別的資料,並將它們儲存在 vector 中。接著,把該 vector 物件複製給乙個字元指標陣列。為 vector 中的每個元素建立乙個新的字元陣列,並把該 vector 元素的資料複製到相應的字元陣列中,最後把指向 該陣列的指標插入字元指標陣列。
#include#include#include
#include
using
namespace
std;
intmain( )
for(i=0; i!=svec.size(); i++)
delete arr;
system(
"pause");
return0;
}
C Primer 第4章 習題4 34
讀入一組string型別的資料,並將它們儲存在vector中 接著,把該vector物件複製給乙個字元指標陣列。為vector中的每個元素建立乙個新的字元陣列,並把該vector元素的資料複製到相應的字元陣列中 最後把指向該陣列的指標插入字元指標陣列 include include includeu...
C Primer 第4章 習題4 35
讀入一組string型別的資料,並將它們儲存在vector中 接著,把vector物件複製給乙個字元指標陣列 為vector中的每個元素建立乙個新的字元陣列,並把該vector元素的資料複製到相應的字元陣列中 然後把指向該陣列的指標插入字元指標陣列中 輸出建立vector物件和陣列的內容 inclu...
C primer習題筆記第4章
1 解釋下列宣告語句,幵指出哪些是非法的,為什麼?d int ip,ip2 e const int i 0,p i 解答 d 合法。定義了 int 物件 ip2 和指向 int 型物件的指標 ip。e 合法。定義了 const int 型物件 i 和指向 const int 型物件的指標 p,i 初...