c陣列問題。這個陣列裡面都是兩兩相同的,只有不是,輸出這個不一樣的

2023-02-26 05:35:21 字數 4765 閱讀 7251

1樓:匿名使用者

///public static void getsinglenumber(int numbers)

for (int i = 0; i < array.length; i++)}}

////// 方法二: 使用linq api

//////

public static void getsinglenumberwithlinq(int numbers)}}}}

2樓:

試著用巢狀迴圈看看,比如再定義一個變數j,讓它從第陣列的第二個元素開始迴圈,如果j所對應的值 等於i所對應的值,那麼,繼續迴圈,如果不等,就可以輸出了

3樓:匿名使用者

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace test

if (temp == 0)

", str[j]);

break;}}

}static void main(string args)xx(str);

console.readkey();}}}

c#裡怎麼比較同一個陣列裡的值,然後輸出相同的數值

4樓:匿名使用者

可以採用內外迴圈,對每一個元素遍歷整個陣列,挑出相同元素。這裡有幾點要注意:

1、考慮同一元素會出現多次。

2、由於採用遍歷,要避免自己和自己比較。

3、陣列越界

public static float  selectsame(float  soudat)

}if (ret.count < 1) return null;

else return ret.toarray();}

5樓:匿名使用者

先執行設定好的外迴圈和內迴圈,最後判斷如果滿足就輸出就可以了。

6樓:匿名使用者

是要**嗎?

for(int i = 0 ;i < n;i ++)

for(int j = i + 1;j < n;j++)

7樓:

迴圈遍歷內嵌比較條件,滿足條件輸出

c# array.indexof 的問題,為什麼輸出永遠是-1,不是陣列裡面有2這個麼??

8樓:

因為你陣列 nums定義為double了

而你在indexof裡用的2,是int

所以會找不到

修改方法

int nums = ;

或者int a = array.indexof(nums,2.0);

請教c#兩個陣列找出相同的和各自不同的數值

9樓:仙戈雅

static void main(string args);

int b = ;

ienumerableen = a.intersect(b);// a∩b 集合a與集合b的交集

foreach (var item in en)ienumerableen2 = a.concat(b).except(a.intersect(b));// 容斥原理

foreach (var item in en2)}

10樓:

我扔個磚吧,希望有高手出來扔玉。我用的是linq的交集與差集求法。

int a = new int[5] ;

int b = new int[5] ;

console.writeline("兩陣列都有的元素(交集)");

foreach (var k in a.intersect(b))console.writeline("兩陣列不同的的元素(差集)");

var s = a.except(b).tolist();

s.addrange(b.except(a).tolist());

foreach (var k in s)

intersect就是交集,兩個陣列都有的元素,然後遍歷一下輸出。

except差集,這裡要差兩次,一次是a對b,另一次是b對a。

希望有更好更高效的寫法。

11樓:匿名使用者

做兩個for迴圈比較一下值就可以了。

c#有兩個陣列,想把這個兩組中相同的元素放在另一個陣列中

12樓:

使用linq,可以一步到位

string str1=;

string str2=;

//這是交集

var res = str1.intersect(str2);

//這是差集

var res1 = str1.except(res);

var res2 = str2.except(res);

如果是自己的方法,這使用 dictionary暫存一下,下掃描str1,把所有值放入dictionary(value設定為1)

然後掃描str2,如果值存在則把value設定為0。如果值不存在則設定為-1

這樣二次掃描完成,則所有value為1的就是你的str1p,value為-1的就是你的str2p,而value為0的就是你要求的差值

13樓:匿名使用者

\\偽**

str3=new string [str1長度+str2長度];

for(i=0;i

14樓:匿名使用者

string str1 = new string ;

string str2 = new string ;

string str3 = str1.where(t=>str2.contains(t)).toarray();

str3就是你想要的答案

15樓:匿名使用者

有個笨辦法..雙重迴圈,把陣列1的每個值拿出來,與陣列2的每個值相比較,想同的就加進新陣列裡

c#寫一個方法,返回值是一個陣列,怎麼用這個陣列

16樓:匿名使用者

樓上說的不錯!舉個例子如下:

static int getarray();return a;}}}

17樓:匿名使用者

獲得這個陣列的引用 像使用其他陣列一樣使用

c#二維陣列,輸出如圖一樣的二維陣列,要怎麼做?

18樓:小唯殿

用for巢狀一下,外層為行,裡層為列

19樓:

for (int i = 0; i < 6; i++)

console.writeline();

}console.readkey();

c#陣列中,把相同的元素提取出來,放入另一個陣列中

20樓:匿名使用者

//遍歷陣列元素來判斷,使用list或arraylist輔助int array1 = new int ;

arraylist list1 = new arraylist(); //儲存去重後剩餘的元素

arraylist list2 = new arraylist(); //儲存重複的元素

for (int i = 0; i < array1.length; i++)

//現在list1中儲存的元素就是對應你需要的array1//list2中儲存的元素則對應你需要的array2//如果要轉成陣列,可通過迴圈賦值或者list等類的內建轉換方法實現

21樓:匿名使用者

這個時候最好使用list或arraylist(system.collection).

使用陣列也可以做出來。

另外,如果只是單個字元的還可以使用string來做。

下面只給出list的求解辦法。//空手寫的,你自己去除錯,不過一般沒錯的

string array=new string

liststrlist0=new list();//原始資料

liststrlist1=new list();//陣列一,array1

liststrlist2=new list();//陣列二,array2

for(int i=0;ifor(int i=0;i}//陣列2的獲取採用這樣的演算法,如果有相同的那麼indexof和lastindexof的地址會不同因此可以這樣寫。

for(int i=0;i}//如果是int型別只要把string改為int就行了。

//使用迴圈將值付給陣列

22樓:

foreach (char item in array1)

然後對char逐一對比

關於c#的引數陣列的一個簡單問題……

23樓:**最大功能

呼叫listints時你已經對 陣列元素重新賦值了。

24樓:匿名使用者

主要是傳入的引數形式不一樣,輸出的也不一樣,第一個輸出的first、second、third是值型別,第二個輸出的事陣列,引用型別,陣列在傳入的時候裡面的值已經改變了。

同c語言合併兩個陣列,同C語言合併兩個陣列

合併陣列的操作,具體演算法依賴於合併的規則。其通用流程如下 1 建立一個足夠容納兩個陣列所有元素的目標陣列。如果規則規定將一個陣列合併到另一個之中,那麼需要保證目標陣列有可以容納兩個陣列的空間,否則會出現越界。2 遍歷其中一個陣列,並賦值到目標陣列中。如果是一個陣列合併到另一個,那麼此步可以省略 3...

C語言陣列int a 31是這個陣列的數都是1對嗎

你的問題不復光是初始化的制問題 int i for i 0 i 3 i 主要出現在這 for i 0 i 3 i 你的baifor迴圈後面接了du一個分號,這樣整個zhifor就變成了空迴圈 而printf 4d a i 只執行了a 3 的輸dao出 因為空迴圈中把i加到了3 但你的陣列只有a 0 ...

C或C求兩個陣列相同元素個數

方法一 查詢一個陣列裡面最小和次小的兩個元素,可採用先按從小到大排序,然後,取出前兩位數,得到最小和次小。但這種方法時間複雜度較高。方法二 先假定陣列的前兩位中的較小的是最小,較大的是次小迴圈檢查其餘的元素,若新元素小於最小,則,最小變為次小,新元素成為最小否則,再判斷新元素是否小於次小,是,則新元...