1樓:凌亂心扉
#define _crt_secure_no_deprecate#include
#include
#include
using namespace std;
去掉字串中重複的字元並排序
int main()}}
int newsize = input.size() - count;
string str(newsize,'0'); //建立一個長為newsize,用『0』填充的字串
int j = 0;
for (int i = 0; i < input.size(); i++)
}sort(str.begin(), str.end());
cout << str<}}
2樓:匿名使用者
先排序,在進行遍歷比較。
#include
// 升序陣列src
void sort(int *src, int len)}}int main()
, d;
int i = 0, **t;
sort(num, 10); // 排序d = num[0];
for (i = 1; i < 10; i++) // 遍歷比較}if (num[9] == d)
printf("%d\n", d);
return 0;}
3樓:
int main()
for(i=0;i<9-m;i++)//i<=9---->i<9-mm++;
j=i+1;
}else
j++;}}
for(i=0;i<=9-m;i++)
return 0;
}其實就是改了下迴圈條件而已(既然下面的迴圈都用了m了,為什麼上面不用呢)
4樓:南瓜豬的的的
基本思路
先將陣列排序
拷貝陣列去重
#include
int a = ;
int b[16];
int less(void *a, void *b)int unique(int * input, const int size_input, int * ans)
qsort(a,size_input,sizeof(int),less);
ans[size_ans] = input[0];
for (; ii
5樓:你妹名字要多長
是把重複數去掉的 不是單純沒有重複
如何去掉一個陣列的重複元素:陣列去重
6樓:表哥傻叼
可以使用雙重迴圈,逐一對比元素,如有重複,則刪除的方法去重。
其思路為
1、依次遍歷迴圈中的每一個元素。
2、對於任意一個元素,依次與之前的元素進行對比,如果有重複則刪除。
3、刪除操作可以採用將後續元素逐個前移,達到覆蓋當前元素的效果。
在此基礎上可以進行一點優化,即,不需要每次刪除元素均前移所有元素,而是把需要保留的元素放到"應該"放的位置即可,這樣可以提高效率。
以整型陣列為例,參考**如下:
1234567891011121314
int remove_repeat(int *a, int l)//對起始地址為a,長度為l的陣列進行去重,新的長度以返回值形式返回。 return r; //返回新的長度。}
7樓:匿名使用者
function removedop(arr)
c語言刪除一個整型陣列裡面重復的元素
8樓:匿名使用者
利用雙重迴圈,將每個值依次與其後面的值相比較,如果有相同的則刪除該元素即可。
刪除時,可以使用將後面元素依次向前移動一位,同時總長度減一的方式。
參考**如下:
int remove_repeat(int *a, int l){int i, j, k;
for(i = 0; i < l; i ++){for(j = i+1; j
9樓:周小狐狸愛我
int elimination(int a, int count)}}
return count;}
10樓:匿名使用者
我跟你直接說思路吧,他們這樣的雙重迴圈陣列太大的話很耗時間的,你可以,先給陣列排序,然後刪除多餘的數就很耗操作了,只需要看相鄰的數就可以了。
11樓:匿名使用者
int i, j;
int buf = ;
int count = strlen(buf);
for(i = 0; i < count; i++)}}buf[count] = '\0';
提供給你個思路 我沒有除錯,不過思路我覺得不錯!
就是從陣列裡第一個元素開始找相同的,如果相同就把 相同元素和陣列最後一位交換,下一個相同的就和陣列倒數第二位交換,最後把 count位變成『/0』,最後列印陣列。
12樓:匿名使用者
for(int i=0; iif(arr[j]=arr[i])length--;
break;}}}
13樓:匿名使用者
將第一個元素輸出,再後面的一個個與前面的比較,有相等的就繼續迴圈,不等的就輸出,用for語句做
c語言 去掉陣列中重複的元素····求幫助
14樓:匿名使用者
我用的是字元陣列。。。其實方法都一樣。。#include#include
#define maxsize 100int main()i--;}}
i = 0;
while( array[i] != '\0' )printf( "\n" );
return 0;}
15樓:匿名使用者
說的不是很清楚,陣列定義的時候就刪除?看來你對陣列的操作還不是很清楚,應該是在資料寫入陣列的時候將其刪除吧。你可以這樣,如果陣列不大,在寫入資料的時候先遍歷一遍陣列看看陣列中是否有該資料,如果有那麼就不把資料寫入陣列,如果沒有就接著最後一個元素寫入陣列就可以了。
16樓:匿名使用者
for(int i = 0; i < sizeof(a)/sizeof(a[0]);i++)
}if(bexsit == false)}
17樓:匿名使用者
#include
int main()
else j++;
}i++ ; }
puts(str);}
18樓:董俊錕
#include
void main()
}for(i = 0; i < k; i++)}
c語言二維陣列中刪除陣列中的重複元素
19樓:
簡單地統計重複元素和不重複元素,可以用1維陣列。
#include
void main()
}--------------------「刪除陣列中的重
復元素」 不知道 是什麼意思。
陣列單元是連續分配單元的。即使是動態分配的單元,也不好從當中刪去。
動態分配的單元,可以用 realloc 增加分配單元 和 減少分配單元。但只能從尾部做起,單元連續。
c語言程式設計:任給定一個一維陣列,其中重複的元素只保留一個,然後將這些互不重複的元素按照升序排列!
20樓:猥瑣堂
#include
#include
int cmp(const void *p, const void *q)
int main()
if(j==m) //陣列b中沒有該元素
}qsort(b, m, sizeof(int), cmp); //快排進行排序
for(j=0; j}
21樓:匿名使用者
只要在輸出的時候過濾掉重複的數就行了(若後一個等於前一個,不輸出後一個)。
c語言,刪除陣列中的重複元素
22樓:
//#include "stdafx.h"//vc++6.0加上這一行.
#include "stdio.h"
void main(void),ln;
for(ln=sizeof(a)/sizeof(int),k=i=1;i=k) a[k++]=a[i];
}for(i=0;i printf("\n");} 23樓:匿名使用者 #include #define n 1000 #define flag 0x80000000 /*特殊標記,用最小的負數表示*/ void main( ) }for(i = 0; r[i] != flag; i++); /*找到第一個特殊標記*/ for(j = i + 1; j < length;) /*刪除數列中的特殊標記*/ length = i; /*修改刪除重複值後的數列的長度*/for(i = 0; i < length; i++)printf("%-4d", r[i]);} c語言,刪除陣列中的重複數字然後輸出 24樓:凌亂心扉 #include "stdio.h" #include "string.h" void main() ;for(k=i=1;i<10;i++) if(j==k) a[k++]=a[i]; }printf(" \n "); for(i=0;i 25樓:荒村歸來 樓主程式有問題的地方:k值的初始化(k需要在每次迴圈時 跟j同時初始化) 樓主在迴圈對比a、b時,除了第一次執行迴圈時,對k初始化了,後面執行迴圈時,由於k沒有初始化,故導致k越來越大,而j卻在每次迴圈時,初始化了,故無論如何k,j都不會出現相等的。 26樓:汽水 #include #define n 10 //陣列長度 void main() for(i=0;i if(sg==0) printf("%d\t",a[i]);//輸出不是重複的數}printf("\n重複的數共計:%d個\n",count); }這是我的**,。。。。已經有人給出了,和我的思路差不多,說說你的想法,你的演算法應該有問題 27樓:田真久 #include int main() {int n,i,j,arr1[100],arr2[100]; int index=0,count,current=0;//current 記錄當前是否重複 count記錄重複多少次 scanf(" %u",&n); for(i=0;i查是 否有和當前數字重複的 for(j=0;j array unique array 直接可以移除重複值 php二維陣列如何根據一個id刪除一個元素 關鍵看你的二維陣列的結果.如果id是下標並且是字串,如下面的.demo array one array 1,2,3 two array 3,4,5 可以直接unset demo one 如果id是下... include define maxn 10 int search int list,int n,int x int main int search int list,int n,int x return 1 c語言程式 include define n 11 int search int list... m str j str strlen str j 1 rem 改成m str j 0 str strlen str j 1 0 rem 或m str j 48 str strlen str j 1 48 rem 就行了 字元型的數字換成整形的減掉 0 就可以 也就是減48 include stdio...php二維陣列刪除指定的重複元素,只保留一條
C語言題目在陣列中查詢指定元素
C語言陣列相加,關於c語言的兩陣列相加問題