![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 11
|
Dışarıdan girilen n elemanlı bir dizide her bir elemandan kaç adet olduğunu bulan program.. Private Sub Command1_Click() Dim dizi() Dim n As Integer Dim sayac As Integer n = InputBox("Diziniz kaç elemanlı olsun?") ReDim dizi(n) For i = 0 To n - 1 dizi(i) = InputBox("sayılar") Next For i = 0 To n - 1 For j = 0 To n - 1 If dizi(i) = dizi(j) Then sayac = sayac + 1 For k = 0 To i - 1 If dizi(i) = dizi(k) Then GoTo g Next Next Print sayac & " " & "tane" & " " & dizi(i) & " " & "elemanından var" sayac = 0 g: Next End Sub arkadaşlar bi yerde yanlışlık var ama çözemedim biri bana yardımcı olabilirmi? |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 01/2007
Mesaj: 34
|
Private Sub Command1_Click() Dim dizi() Dim n As Integer Dim i, j, k As Integer Dim sayac As Integer n = InputBox("Diziniz kaç elemanlı olsun?") ReDim dizi(n) For i = 0 To n - 1 dizi(i) = InputBox("sayılar") Next For i = 0 To n - 1 For j = 0 To n - 1 If dizi(i) = dizi(j) Then sayac = sayac + 1 For k = 0 To i - 1 If dizi(i) = dizi(k) Then GoTo g Next Next MsgBox(sayac & " " & "tane" & " " & dizi(i) & " " & "elemanından var") sayac = 0 g: Next End Sub |
| | |
| | #7 (permalink) |
| İptal Durumu Üyelik Tarihi: 12/2006 Yer: ANKARA
Mesaj: 167
|
algoritmayı değiştirsek; birinci dizinin elemanlarını oku ikinici dizinin tüm elemanlarını sıfırla (ikinci dizi on elemanlı 0 1 ... 9 rakamları için) birinci dizide okuduğun sayıyı ikinci diziye index yap bir artır. dizi2[dizi1[i]]=dizi2[dizi1[i]]+1; tekrarla şimdi ikinci dizide 0 dan bire kadar tüm elemanlarda toplam adetler yazacaktır. |
| | |
| | #8 (permalink) |
| İptal Durumu Üyelik Tarihi: 12/2006 Yer: ANKARA
Mesaj: 167
|
dim dizi1(5) as integer dim dizi2(10) as integer for i=0 to 5 dizi2(dizi1(i))=dizi2(dizi1(i))+1 next i gibi bu durumda ikinci dizinin birinci elemanında toplam sıfırlar ikinci elemanında toplam birler vs toplamları oluşur. istediğin gibi yazdırırsın |
| | |
| | #10 (permalink) |
| Eski Cevizci Üyelik Tarihi: 04/2005
Mesaj: 341
|
Soruyu kucuk parcalara bolmek icin fonksiyon kullanmayi dene. Goto lardan kacin. Redim dizi(n) Redim sayilan(n) ' Inputu aldiktan sonra asagidakine benzer bir seyler olabilir mesela. For i=0 To n-1 If ElemanSayildi(dizi(i), sayilan) = 0 Then MsgBox "Sayi " & dizi(i) & vbTab & GetCount(dizi(i), dizi) & " defa bulundu." End if sayilan(i) = dizi(i) Next End Sub Function GetCount(sayi, dizi) Dim count For i=0 To UBound(dizi)-1 if dizi(i) = sayi Then Count = Count + 1 Next GetCount = Count End Function Function ElemanSayildi(e, s) For i=0 To UBound(s) - 1 If s(i) = e Then ElemanSayildi = 1 Exit Function End If Next ElemanSayildi = 0 End Function |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Asp ile ilgili bir soru ? | turansoylu | Javascript / DHTML / Ajax | 3 | 09/01/2007 12:48 |
| C ile ilgili bir soru | mybolt | C / C++ | 2 | 11/04/2006 05:16 |
| arkadaşlar acilen dizilerle ilgili bilgi bulmam lazım. | SİNELSAN | Visual Basic | 1 | 24/05/2004 14:14 |
| DNS ile ilgili Bir Kaç Soru...? | omerfaruk | GNU / Linux / UNIX / BSD / Pardus | 2 | 05/03/2004 01:35 |
| SQL ile ilgili bir soru | aykutsaka | ASP | 4 | 28/11/2003 18:42 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |