Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
有關程式問題~~類似排序問題
我的問題
a=[3 2 4 3 2 1]要變成b=[3 2 4 1]
不管哪種程式都可以
請各位大大寫程式給我參考並說明每一行的意思
請問一下
那如果是matlab這套軟體的話
那你會寫這方面的程式嗎??
2 個解答
- ChaosLv 71 0 年前最佳解答
使用MATLAB的話還挺簡單的,下面程式你參考
首先是利用unique指令將陣列中不同的數字都取出來,固
a=[3 2 4 3 2 1]
b=a(1);
for k=2:length(a)
flag=1;
for j=1:length(b)
if a(k)==b(j)
flag=0;
end
end
if flag==1
b=[b a(k)];
end
end
程式中利用flag來判斷是否為新的數字,如果是新的數字,則利用b=[b a(k)]將數字加入
參考資料: 教學經驗 - hungmousongLv 51 0 年前
'VB6.0
Private Sub Form_Load()
Dim a() As String, b As String, i As Integer
'將"3 2 4 3 2 1"轉為陣列,設定a陣列內容為a(0)="3",a(1)="2",a(2)="4",a(3)="3",a(4)="2",a(5)="1"
a = Split("3 2 4 3 2 1", " ")
'以b變數儲存結果
b = a(0)
'將a陣列中的內容逐一取出併檢查是否在 b 變數中已經有此文字
For i = 1 To UBound(a)
'InStr(1, b, a(i)) = 0 表示b中沒有 a(i) 這個文字
If InStr(1, b, a(i)) = 0 Then
'如果 a(i) 不在 b 中,那就把 a(i) 放入 b
b = b & " " & a(i)
End If
Next i
'列印出結果
Print b
End Sub
2009-04-09 23:47:11 補充:
抱歉,這軟體我沒使用....。