函數重載-排序法
集合交集 | 集合聯集
中文字串反向印出
字元字串-中間字元新增刪除
類別-整數序列-例外處理
集合交集 | 集合聯集
中文字串反向印出
字元字串-中間字元新增刪除
類別-整數序列-例外處理
歷史性的一刻(凎)
這破爛學校到底多喜歡點名阿(雖然實際數目應該在這個之上wwww
不過點名確實有好處:
非常浪費時間可以拖慢上課進度~就算兩個禮拜去上一次課一樣也能聽懂呦XD
也能聚集很多只想點名的噪音源更加拖慢進度~
順便還能以聚集人數當作推斷現在是第幾節的參考耶
更重要的是能預防脊椎傷害~畢竟長時間趴在桌上睡覺很容易脊椎惻灣
有了他們包你不好睡能貒正坐姿(其實跟桌子太爛、冷氣只會吹灰塵、天氣太熱關係較大
缺點:日子久了家裡有可能收到黑函囧
話說我應該去重修"無視"~大學的等級比以前高大多了~
我放假這麼多節~怎麼事情還一大堆= =|||
不過點名確實有好處:
非常浪費時間可以拖慢上課進度~就算兩個禮拜去上一次課一樣也能聽懂呦XD
也能聚集很多只想點名的噪音源更加拖慢進度~
順便還能以聚集人數當作推斷現在是第幾節的參考耶
更重要的是能預防脊椎傷害~畢竟長時間趴在桌上睡覺很容易脊椎惻灣
有了他們包你不好睡能貒正坐姿(其實跟桌子太爛、冷氣只會吹灰塵、天氣太熱關係較大
缺點:日子久了家裡有可能收到黑函囧
話說我應該去重修"無視"~大學的等級比以前高大多了~
我放假這麼多節~怎麼事情還一大堆= =|||
別人會帶給其他人影響,而且是無意中這麼做的。04VU84FM4
函數重載-排序法
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
void SORT(int* date,int k){
sort(date,date+k);
}
void SORT(string* date,int k){
sort(date,date+k);
}
void PRINT(string* date,int k){
for(int i=0;i<k;i++){
cout<<date[i]<<" ";
}
}
void PRINT(int* date,int k){
for(int i=0;i<k;i++){
cout<<date[i]<<" ";
}
}
int main(){
{int data[10];for(int i=0;i<10;i++)cin>>data[i];SORT(data,10);PRINT(data,10);}
{string data[10];for(int i=0;i<10;i++)cin>>data[i];SORT(data,10);PRINT(data,10);}
return 0;
}
重載就型別不同名稱一樣阿~
是說依照出現的題目推測以前大一是有教string的
現在沒教是一屆不如一屆的意思嗎?(被巴
#include<string>
#include<algorithm>
using namespace std;
void SORT(int* date,int k){
sort(date,date+k);
}
void SORT(string* date,int k){
sort(date,date+k);
}
void PRINT(string* date,int k){
for(int i=0;i<k;i++){
cout<<date[i]<<" ";
}
}
void PRINT(int* date,int k){
for(int i=0;i<k;i++){
cout<<date[i]<<" ";
}
}
int main(){
{int data[10];for(int i=0;i<10;i++)cin>>data[i];SORT(data,10);PRINT(data,10);}
{string data[10];for(int i=0;i<10;i++)cin>>data[i];SORT(data,10);PRINT(data,10);}
return 0;
}
重載就型別不同名稱一樣阿~
是說依照出現的題目推測以前大一是有教string的
現在沒教是一屆不如一屆的意思嗎?(被巴
集合交集
#include<iostream>
using namespace std;
int main(){
int a[10],b[10];
for(int i=0;i<10;i++){
a[i]=0;
b[i]=0;
}
int n;
cout<<"Size:"<<endl;
cin>>n;
cout<<"Element:"<<endl;
for(int i=0;i<n;i++){
int k;
cin>>k;
a[k]++;
}
cout<<"Size:"<<endl;
cin>>n;
cout<<"Element:"<<endl;
for(int i=0;i<n;i++){
int k;
cin>>k;
b[k]++;
}
for(int i=0;i<10;i++){
if(a[i]&&b[i])cout<<" "<<i;
}
}
\鑽漏洞萬歲/
兩個集合就a跟b~不管裡面到底有多少元素
依照input的範例猜測每一個元素最大只到9而已XDDDD
所以只存0~9在A,B裡面有沒有出現過~最後輸出都出現過得就是交集了XD
PS.題目敘述是說集合裡面是整數~但沒說明整數的範圍
一般ACM的題目都會明確指示輸入範圍所以一般不會把這種陣列設法稱為漏洞就是了~
這題會這樣只證明了~
出題者超忙 || 出題者很懶
PS2.我原本是想先設10就好~再一次一次慢慢增加結果居然一次就過XD
聯集只要改成輸出有出現過得就行
using namespace std;
int main(){
int a[10],b[10];
for(int i=0;i<10;i++){
a[i]=0;
b[i]=0;
}
int n;
cout<<"Size:"<<endl;
cin>>n;
cout<<"Element:"<<endl;
for(int i=0;i<n;i++){
int k;
cin>>k;
a[k]++;
}
cout<<"Size:"<<endl;
cin>>n;
cout<<"Element:"<<endl;
for(int i=0;i<n;i++){
int k;
cin>>k;
b[k]++;
}
for(int i=0;i<10;i++){
if(a[i]&&b[i])cout<<" "<<i;
}
}
\鑽漏洞萬歲/
兩個集合就a跟b~不管裡面到底有多少元素
依照input的範例猜測每一個元素最大只到9而已XDDDD
所以只存0~9在A,B裡面有沒有出現過~最後輸出都出現過得就是交集了XD
PS.題目敘述是說集合裡面是整數~但沒說明整數的範圍
一般ACM的題目都會明確指示輸入範圍所以一般不會把這種陣列設法稱為漏洞就是了~
這題會這樣只證明了~
出題者超忙 || 出題者很懶
PS2.我原本是想先設10就好~再一次一次慢慢增加結果居然一次就過XD
聯集只要改成輸出有出現過得就行
中文字串反向印出
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,ans="";
cout<<"Input:"<<endl;
cin>>a;
for(int i=a.length()-2;i>=0;i-=2){
ans+=a[i];
ans+=a[i+1];
}
cout<<ans;
}
一個中文字用兩個char存
#include<string>
using namespace std;
int main(){
string a,ans="";
cout<<"Input:"<<endl;
cin>>a;
for(int i=a.length()-2;i>=0;i-=2){
ans+=a[i];
ans+=a[i+1];
}
cout<<ans;
}
一個中文字用兩個char存
字元字串-中間字元新增刪除
#include<iostream>
using namespace std;
char* INSERT(char*d,int pos,char c){
char t=*(d+pos);
char *k;
for( k=(d+pos+1);*k;k++){
swap(*k,t);
}
*k=t;
*++k=0;
*(d+pos)=c;
return d;
}
char* ERASE(char*d,int pos){
for(char *c=(d+pos);*c;c++){
*c=*(c+1);
}
return d;
}
void main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<INSERT(d,3,'A');
cout<<endl<<ERASE(d,8);
}
using namespace std;
char* INSERT(char*d,int pos,char c){
char t=*(d+pos);
char *k;
for( k=(d+pos+1);*k;k++){
swap(*k,t);
}
*k=t;
*++k=0;
*(d+pos)=c;
return d;
}
char* ERASE(char*d,int pos){
for(char *c=(d+pos);*c;c++){
*c=*(c+1);
}
return d;
}
void main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<INSERT(d,3,'A');
cout<<endl<<ERASE(d,8);
}
類別-整數序列-例外處理
#include<iostream>
#include<string>
using namespace std;
class SEQ{
int m_data[8];
public:
int Get(int i);
void Set(int i,int v);
};
int main(){
cout<<"N=";int n;cin>>n;
SEQ seq;
try{for(int i=0;i<n;i++) {int v;cin>>v;seq.Set(i,v);}}
catch(string msg){cout<<endl<<"exception:"<<msg;}
cout<<endl<<endl;
try{for(int i=0;i<n;i++) cout<<" "<<seq.Get(i);}
catch(string msg){cout<<endl<<"exception:"<<msg;}
return 0;
}
int SEQ::Get(int i){
string msg;
if(i>=8)throw msg="index 8 is out of range";
else return m_data[i];
}
void SEQ::Set(int i,int v){
string msg;
if(i>=8)throw msg="index 8 is out of range";
else m_data[i]=v;
}
例外處理又是壓根沒看過的語法= =|||
#include<string>
using namespace std;
class SEQ{
int m_data[8];
public:
int Get(int i);
void Set(int i,int v);
};
int main(){
cout<<"N=";int n;cin>>n;
SEQ seq;
try{for(int i=0;i<n;i++) {int v;cin>>v;seq.Set(i,v);}}
catch(string msg){cout<<endl<<"exception:"<<msg;}
cout<<endl<<endl;
try{for(int i=0;i<n;i++) cout<<" "<<seq.Get(i);}
catch(string msg){cout<<endl<<"exception:"<<msg;}
return 0;
}
int SEQ::Get(int i){
string msg;
if(i>=8)throw msg="index 8 is out of range";
else return m_data[i];
}
void SEQ::Set(int i,int v){
string msg;
if(i>=8)throw msg="index 8 is out of range";
else m_data[i]=v;
}
例外處理又是壓根沒看過的語法= =|||
私立的教授還真可憐阿~