1樓:示申僉
隨著d陣列的排序做改變就是了
#include "stdio.h"
int main()
;int d=;
int i,j,tmp;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(d[i]>d[j]) //排序同時,讓a陣列跟著做變換
for(i=0;i<4;i++)
printf("%d ",a[i]);
printf("\n");
}3,5,1,2
目的達到。
2樓:匿名使用者
冒泡程式互換的那段**部分,在交換 d[i] d[i+1]的時候順便連 a[i] a[i+1] 也互換了不就行了麼,咋這點還想象不出來啊,就跟 excel 排序似的,你按照a列來排,你不能只讓a列動,那就錯位了。
如何用c++合併兩個已經排好序的陣列為一個陣列
3樓:手機使用者
我想要合
bai併成一個陣列一du定還要按順序重新排一zhi遍,不管以前是否dao排序。要合內並可以採用迴圈賦值的方法吧,原容來兩個陣列假定為a[10],b[10],合併的為c,排好序的a中肯定不重複,直接放入c中,可用:int t;
for(t=0;t<10;t++) c[t]=a[t];對b中元素進行檢驗,若與a不重複,繼續放入。
bool flag=true;
for(int i=0;i<10;i++)陣列元素都放入後對c排序就行了。
4樓:
首先用兩個
來指標a,b分別指向第自一個和第二個有序的陣列,用另一指標pt指向存放答案的陣列;
若(*a)>(*b)則b++,(*pt++)=(*b),否則a++,(*pt++)=(*a);
若a與b都指向已知有序陣列末尾的下一位,演算法結束。
c++問題已知兩個已經有序的陣列,其中陣列內的元素/陣列間的元素均不相同,寫一個函式,使兩個陣列合並後
5樓:匿名使用者
#include
using namespace std;
int m;
int *p;
void merge(int a[15],int b[10])else
}if(i==15)
}else if(j==10)}}
int main()
;int b[10]=;
int n;
merge(a,b);
for(n=0;n<25;n++)
return 0;}
c++找公共元素:求兩個陣列中的公共元素(順序以第一個陣列為準)如果沒有公共元素,則輸出no。
6樓:匿名使用者
#include "stdafx.h"
#include
#include
void sort(int *src, int len);
int main()
while (nn.size() < n);
printf("請輸入第二個陣列的資料個數\n");
int m;
scanf("%d", &m);
printf("請輸入第二個陣列所要包含的資料,請用空格隔開\n");
std::vectormm;
do while (mm.size() < m);
std::vectorjg;
if (n >= m)}}
else}}
if (jg.size() > 0)
}else printf("公共元素為:\nno");
printf("\n");
system("pause");
return 0;
}void sort(int *src, int len)}}剛剛沒注意看你的要求是要按第一個陣列順序排,所以上面的**我寫成了結果以從小大到排的,現在修改一下,按你的要求結果按第一個陣列順序排列,**如下:
#include "stdafx.h"
#include
#include
int main()
while (nn.size() < n);
printf("請輸入第二個陣列的資料個數\n");
int m;
scanf("%d", &m);
printf("請輸入第二個陣列所要包含的資料,請用空格隔開\n");
std::vectormm;
do while (mm.size() < m);
std::vectorjg;
for (int i = 0; i < n; i++)}if (jg.size() > 0)
}else printf("公共元素為:\nno");
printf("\n");
system("pause");
return 0;}
7樓:伎肚惱嗡
void getmin(int array,int arraylen,int out,int outlen)
//如果
zhiout中的數小,則看dao
看下一個out數會不會比這個大}}}
c++排序一個陣列,要求某個元素不動,並且要獲取排列後的元素在排列前的陣列中的位置,不動元素位置不變!
8樓:滄海雄風
很簡單啊
排列前把要不動的元素位置記住
排序時不參與排序
排序完後插入到記錄的元素位置就ok 了啊
自己先想想 不行再來問我 我再給你寫
大半夜的正玩遊戲 真心不想寫**啊
9樓:匿名使用者
樓主給你一個思路,排序的時候可以用兩個for迴圈
當遇到a[index],index值可以讓使用者輸入
就是a[i],i=index的時候,就用continue,這樣程式就不會動這個元素了~!
10樓:匿名使用者
就是一個簡單的排序 大不了多了一個條件而已
11樓:匿名使用者
可以考慮用選擇排序,氣泡排序的思想……
12樓:熾熱紅翼
#include
using namespace std;
int main()}}
cout<<"the sorted numbers:"< for(i=0;i cout< return 0;} c++中,如果已知兩個陣列,有什麼方法可以知道一個陣列中的某個元素是否存在與另一個陣列? 謝謝。 13樓:匿名使用者 可以,bai用for迴圈 du比如 zhiint main() return 0;} 14樓:手機使用者 最直接的就是用for迴圈,將你說的那個元素一個個的與另一個陣列的元素比較 c++求解:怎麼把一個陣列排序後讓其他陣列對應的排序 另外請各位推薦個好點的排序方法 15樓: 定義一個結構du體型別zhi struct stu 再定義結構dao體內 陣列容,要據 總分交換結構體陣列即可 16樓: 那就不要用多個陣列,用一個二維陣列儲存並排序 17樓:幻魅v魘 很簡單,你把總分、平均分、各科成績什麼的做成一個結構體,倒是排序的時候用總分做標準,交換的時候就交換結構體就對了 c++如何把兩個陣列中的元素放在另一個陣列中 18樓: 字串使用 抄strcpy(),strcat(); 其他型別使用memcpy(); 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include 功能:由src所指記憶體 區域複製count個位元組到dest所指記憶體區域。 說明:src和dest所指記憶體區域不能重疊,函式返回指向dest的指標。 注意:與strcpy相比,memcpy並不是遇到'\0'就結束,而是一定會拷貝完n個位元組。 參考資料 19樓:鹹酥餅乾 strcat(sta,st2),將st1陣列和st2陣列連線後賦給st1,然後再用strcmp(st1,st2)函式將st1替換到其他的陣列中 20樓:匿名使用者 你定義的是物件陣列,如果想要刪除的話那就需要呼叫解構函式,這樣處理會比較好,因為你的是陣列,那麼只刪除中間一個物件的話,可能對程式整體有影響,建議用鏈式結構。 21樓:樑__勇 直接使用for迴圈語句拷貝啊。 c語言有個函式memcmp是用來進行記憶體比較的extern intmemcmp void buf1,void buf2,unsigned intcount if 0 memcmp id,id1,20 id1等於id2 先要明確運算子按優先順序不同分類,c程式設計 運算子可分為15種優先順序,從高到... include int not in int num,int a,int length for int i 0 i for i 1 i n i 這兩句錯誤,陣列下標是從0開始的,上面這句會導致程式崩潰 for i 0 i c語言 輸入兩個陣列 從兩個陣列中找出不同的元素 include int ma... include intmain inti 0 intj 0 intarr1 intarr2 for i 0 ifor j 0 jif arr1 i arr2 j printf 存在相同元素 break break return0 擴充套件資料c 比較兩個陣列是否相等 constintsize 5 i...c語言中判斷兩個陣列內容是否相同
c語言找出不是兩個陣列的共同元素
c語言如何寫才能判斷兩個陣列相等