亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我自己調用這個始終不行,請各位修改一下!謝謝

我自己調用這個始終不行,請各位修改一下!謝謝

慕村9548890 2023-04-21 18:14:34
我很想知道。#include<iostream>#include<vector>#include<algorithm>using namespace std;void main(void){vector<int>::iterator it; //聲明迭代器int x;int i=0;do{cout<<"please enter a number,when you enter 0,this will end"<<endl;cin>>x;  getnumber.push_back(x);}while(x!=0); int j=getnumber.size();int t;for(i=0;i<j;i++){for(int m=j-1;m>i;m--){if(getnumber[m-1]>getnumber[m]){t=getnumber[m-1];getnumber[m-1]=getnumber[m];getnumber[m]=t;}}}cout<<endl;for_each(getnumber.begin(),getnumber.end(),show);//迭代器的輸出使用  }void show(vector<int>&number) //將排序后的數字輸出{cout<<number<<endl;}主要希望各位特別講解下for_each的用法。我很笨,講詳細點吧,老師講了一遍沒明白!具體我不明白就是.for_each的括號里。那個函數show到底是個什么意思???不是函數本身的意思。就是對應的for_each這種寫法必須跟個什么樣子的函數啊。實現了什么???
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

參考一下吧。 
#include<iostream> 
#include<vector> 
#include<algorithm> 
using namespace std; 

void show(int number) //將排序后的數字輸出 

cout<<number<<endl; 



int main() 

vector<int> getnumber; 
int x; 
int i=0; 
do{ 
cout<<"please enter a number,when you enter 0,this will end"<<endl; 
cin>>x; 
getnumber.push_back(x); 
}while(x!=0); 
int j=getnumber.size(); 
int t; 
for(i=0;i<j;i++) 

for(int m=j-1;m>i;m--) 

if(getnumber[m-1]>getnumber[m]) 

t=getnumber[m-1]; 
getnumber[m-1]=getnumber[m]; 
getnumber[m]=t; 




cout<<"the result:"<<endl; 
for_each(getnumber.begin(),getnumber.end(),show); 
return 0; 
}
for_each第一個參數和第二個參數是指定范圍的,如果是容器,那么就那么寫,如果是數組,就寫指針,第三個參數的調用函數的名字,就是說對于第一個參數和第二個參數指定范圍之中的每一個元素都會帶入到第三個參數指定的函數中去。


查看完整回答
反對 回復 2023-04-23
  • 1 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號