Arkadaşlar visual basic ile girilen metindeki en çok geçen kelimeyi ve kaç kere geçtiğini bulup ekrana yazdıran bir konsol uygulamasını nasıl yapabilirim?
Visual basic ile metinde en fazla geçen kelimeyi bulma
bence şöyle yapabilirsin
" " kriterine göre split ile diziye alıp
foreach ile diziyi tarayıp
kelimeleri dictionary nesnesine kelime kısmı key olacak sekilde
kelime,count şeklinde kaydedip
sonra bunları count kısmı azalan olacak şekilde sıralatıp
en büyük sayısı olanı bulabilirsin
veya buraya bakabilirsin wordcounter.net
" " kriterine göre split ile diziye alıp
foreach ile diziyi tarayıp
kelimeleri dictionary nesnesine kelime kısmı key olacak sekilde
kelime,count şeklinde kaydedip
sonra bunları count kısmı azalan olacak şekilde sıralatıp
en büyük sayısı olanı bulabilirsin
veya buraya bakabilirsin wordcounter.net
@benbendedeilem
Son Düzenleme: 10/04/2020, 15:25, Düzenleyen: accessman.
dediğinizin bi benzerini for döngüsü ile yapmaya çalıştım ama olmadı bu dilde daha yeniyim
Dim metin As String
Dim metin1() As String
Dim metin2() As String
Dim i As Integer
Dim k As Integer
Dim kackeregecti() As Integer 'kelimenin kaç kere geçtiği saklanır
Dim encokgecen() As String 'en çok geçen kelime saklanır
metin = "Jerry , çevresindekilerin çok sevdiği insanlardan biriydi . Keyfi her zaman yerindeydi . Her zaman söyleyecek olumlu bir şey bulurdu . Hatta bazen etrafındakileri çıldırtırdı bile . Bu adam , bu halde bile nasıl iyimser olabiliyor ? Birisi nasıl olduğunu sorsa ; ' Bomba gibiyim ' diye yanıt verirdi hep .. ' Bomba gibiyim . ' Jerry bir doğal motivasyoncuydu … Yanında çalışanlardan biri , o gün , kötü bir günündeyse , Jerry yanına koşar , duruma nasıl olumlu bakılacağını anlatırdı . Bu tarzı fena halde düşündürüyordu beni … Bir gün Jerry’ye gittim . Anlayamıyorum dedim .. Nasıl olur da , her zaman , her koşulda bu kadar olumlu bir insan olabiliyorsun … Nasıl başarıyorsun bunu ? Her sabah kalktığımda kendi kendime Jerry bugün iki seçimin var : Havan ya iyi olacak , ya kötü .. derim . Havamın iyi olmasını seçerim . Kötü bir şey olduğunda gene iki seçimim var : Kurban olmak , ya da ders almak . Ben başıma gelen kötü şeylerden ders almayı seçerim . Birisi bana bir şeyden şikayete geldiğinde , gene iki seçimim var .. Şikayetini kabul etmek ya da ona hayatın olumlu yanlarını göstermek . Ben hayatın olumlu yanlarını seçerim . Yok yahu , diye protesto ettim . Bu kadar kolay yani ? Evet .. Kolay dedi Jerry .. Hayat seçimlerden ibarettir . Her durumda bir seçim vardır . Sen her durumda nasıl davranacağını seçersin . Sen insanların senin tavrından nasıl etkileneceklerini seçersin . Sen havanın , tavrının iyi ya da kötü olmasını seçersin … Yani sen , hayatını nasıl yaşayacağını seçersin !.. Jerry’nin sözleri beni oldukça etkiledi . Onu , uzun yıllar görmedim . Ama , hayatımdaki talihsiz olaylara dövünmek yerine , seçim yapmayı tercih ettiğimde hep onu hatırladım . Yıllar sonra , Jerry’nin başına çok tatsız bir şey geldi . Soygun için gelen hırsızlar , paniğe kapılıp , Jerry’yi delikdeşik etmişler … Ameliyatı 18 saat sürmüş , haftalarca yoğun bakımda kalmış . Taburcu edildiğinde , kurşunların bazıları hala vücudundaymış . Ben onu , olaydan altı ay sonra gördüm . Nasılsın ? diye sorduğumda , Bomba gibiyim dedi Bomba gibi . Olay sırasında neler hissettin Jerry dedim. Yerde yatarken , iki seçimim var diye düşündüm .. Ya yaşamayı seçecektim , ya ölümü .. Ben yaşamayı seçtim . Korkmadın mı , şuurunu kaybetmedin mi !.. Ambülansla gelen sağlık görevlileri harika insanlardı . Bana hep İyileşeceksin merak etme dediler . Ama acil servisin koridorlarında sedyemi hızla sürerlerken , doktorların ve hemşirelerin yüzündeki ifadeyi görünce ilk defa korktum . Bu gözler bana ; Bana adam ölmüş diyordu. Bir şeyler yapmazsam , biraz sonra ölü bir adam olacaktım gerçekten .. Ne yaptın ? diye merakla sordum .. Kocaman bir hemşire yanıma yaklaştı ve bağırarak herhangi bir şeye alerjim olup olmadığını sordu .. Evet diye yanıt verdim .. Var .. Doktorlar ve hemşireler merakla sustular .. Derin bir nefes alarak kendimi toparladım ve bağırdım : Benim kurşunlara alerjim var !.. Doktorlar ve hemşireler gülmeye başladılar . Tekrar bağırdım .. Ben yaşamayı seçtim . Beni bir canlı gibi ameliyat edin . Otopsi yapar gibi değil .. Jerry , sadece doktorların büyük ustalıkları sayesinde değil , kendi olumlu tavrının büyük katkısı ile yaşadı . Yaşaması bana yine ders oldu . Her gün , hayatımızı dolu dolu yaşamayı seçme şansımız ve hakkımız olduğunu ondan öğrendim .. Ve her şeyin kendi seçimimize bağlı olduğunu .."
metin1 = Split(metin.ToUpper, " ") ' metinin boşluklara göre ayrılmış halini metin1 e aktarır
metin2 = Split(metin.ToUpper, " ")
For i = 0 To UBound(metin1)
For k = 0 To UBound(metin2)
If metin1(i) = metin2(k) Then
kackeregecti += 1
encokgecen(i) = metin1(i)
End If
Console.WriteLine(k)
Next
Next
biraz saçma ama böyle bir şey düşündüm
https://onedrive.live.com/edit.aspx?acti....START.NEW
buradan yardımcı olur musun
Dim metin As String
Dim metin1() As String
Dim metin2() As String
Dim i As Integer
Dim k As Integer
Dim kackeregecti() As Integer 'kelimenin kaç kere geçtiği saklanır
Dim encokgecen() As String 'en çok geçen kelime saklanır
metin = "Jerry , çevresindekilerin çok sevdiği insanlardan biriydi . Keyfi her zaman yerindeydi . Her zaman söyleyecek olumlu bir şey bulurdu . Hatta bazen etrafındakileri çıldırtırdı bile . Bu adam , bu halde bile nasıl iyimser olabiliyor ? Birisi nasıl olduğunu sorsa ; ' Bomba gibiyim ' diye yanıt verirdi hep .. ' Bomba gibiyim . ' Jerry bir doğal motivasyoncuydu … Yanında çalışanlardan biri , o gün , kötü bir günündeyse , Jerry yanına koşar , duruma nasıl olumlu bakılacağını anlatırdı . Bu tarzı fena halde düşündürüyordu beni … Bir gün Jerry’ye gittim . Anlayamıyorum dedim .. Nasıl olur da , her zaman , her koşulda bu kadar olumlu bir insan olabiliyorsun … Nasıl başarıyorsun bunu ? Her sabah kalktığımda kendi kendime Jerry bugün iki seçimin var : Havan ya iyi olacak , ya kötü .. derim . Havamın iyi olmasını seçerim . Kötü bir şey olduğunda gene iki seçimim var : Kurban olmak , ya da ders almak . Ben başıma gelen kötü şeylerden ders almayı seçerim . Birisi bana bir şeyden şikayete geldiğinde , gene iki seçimim var .. Şikayetini kabul etmek ya da ona hayatın olumlu yanlarını göstermek . Ben hayatın olumlu yanlarını seçerim . Yok yahu , diye protesto ettim . Bu kadar kolay yani ? Evet .. Kolay dedi Jerry .. Hayat seçimlerden ibarettir . Her durumda bir seçim vardır . Sen her durumda nasıl davranacağını seçersin . Sen insanların senin tavrından nasıl etkileneceklerini seçersin . Sen havanın , tavrının iyi ya da kötü olmasını seçersin … Yani sen , hayatını nasıl yaşayacağını seçersin !.. Jerry’nin sözleri beni oldukça etkiledi . Onu , uzun yıllar görmedim . Ama , hayatımdaki talihsiz olaylara dövünmek yerine , seçim yapmayı tercih ettiğimde hep onu hatırladım . Yıllar sonra , Jerry’nin başına çok tatsız bir şey geldi . Soygun için gelen hırsızlar , paniğe kapılıp , Jerry’yi delikdeşik etmişler … Ameliyatı 18 saat sürmüş , haftalarca yoğun bakımda kalmış . Taburcu edildiğinde , kurşunların bazıları hala vücudundaymış . Ben onu , olaydan altı ay sonra gördüm . Nasılsın ? diye sorduğumda , Bomba gibiyim dedi Bomba gibi . Olay sırasında neler hissettin Jerry dedim. Yerde yatarken , iki seçimim var diye düşündüm .. Ya yaşamayı seçecektim , ya ölümü .. Ben yaşamayı seçtim . Korkmadın mı , şuurunu kaybetmedin mi !.. Ambülansla gelen sağlık görevlileri harika insanlardı . Bana hep İyileşeceksin merak etme dediler . Ama acil servisin koridorlarında sedyemi hızla sürerlerken , doktorların ve hemşirelerin yüzündeki ifadeyi görünce ilk defa korktum . Bu gözler bana ; Bana adam ölmüş diyordu. Bir şeyler yapmazsam , biraz sonra ölü bir adam olacaktım gerçekten .. Ne yaptın ? diye merakla sordum .. Kocaman bir hemşire yanıma yaklaştı ve bağırarak herhangi bir şeye alerjim olup olmadığını sordu .. Evet diye yanıt verdim .. Var .. Doktorlar ve hemşireler merakla sustular .. Derin bir nefes alarak kendimi toparladım ve bağırdım : Benim kurşunlara alerjim var !.. Doktorlar ve hemşireler gülmeye başladılar . Tekrar bağırdım .. Ben yaşamayı seçtim . Beni bir canlı gibi ameliyat edin . Otopsi yapar gibi değil .. Jerry , sadece doktorların büyük ustalıkları sayesinde değil , kendi olumlu tavrının büyük katkısı ile yaşadı . Yaşaması bana yine ders oldu . Her gün , hayatımızı dolu dolu yaşamayı seçme şansımız ve hakkımız olduğunu ondan öğrendim .. Ve her şeyin kendi seçimimize bağlı olduğunu .."
metin1 = Split(metin.ToUpper, " ") ' metinin boşluklara göre ayrılmış halini metin1 e aktarır
metin2 = Split(metin.ToUpper, " ")
For i = 0 To UBound(metin1)
For k = 0 To UBound(metin2)
If metin1(i) = metin2(k) Then
kackeregecti += 1
encokgecen(i) = metin1(i)
End If
Console.WriteLine(k)
Next
Next
biraz saçma ama böyle bir şey düşündüm
https://onedrive.live.com/edit.aspx?acti....START.NEW
buradan yardımcı olur musun
Son Düzenleme: 10/04/2020, 16:38, Düzenleyen: S4L0.
Kod:
Private Sub deneme(metin As String)
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim metin As String
Dim strMetin() As String
Dim i As Integer
strMetin = Split(metin, " ")
For i = 0 To UBound(strMetin)
If dict.Exists(strMetin(i)) Then
dict(strMetin(i)) = dict(strMetin(i)) + 1
Else
dict.Add strMetin(i), 1
End If
Next
Dim maxi As Integer
Dim strMaxi As String
Dim intMaxi As Integer
Dim say As Integer
maxi = 0
intMaxi = 0
say = 0
Dim key As Variant
For Each key In dict.Keys
If (maxi < dict(key)) Then
maxi = dict(key)
strMaxi = key
intMaxi = say
End If
say = say + 1
Next key
MsgBox dict.Keys()(intMaxi) & ";" & dict.Items()(intMaxi)
End Sub
@benbendedeilem
yanıtın için çok teşekkür ederim
Kod:Imports System
Module Program
Sub Main(args As String())
Dim metin As String
Dim metin1() As String
Dim eleman As Integer = 0
Dim i As Integer
Dim tekrarsayisi() As Integer = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
'tekrarsayısı isimli değişkendeki 0 lar metin1.Lenght komutundan gelen sayıya göre konulmuştur metinde 250 kelime vardır
metin = " Her sabah kalktığımda kendi kendime Jerry bugün iki seçimin var : Havan ya iyi olacak, ya kötü .. derim. Havamın iyi olmasını seçerim. Kötü bir şey olduğunda gene iki seçimim var : Kurban olmak , ya da ders almak. Ben başıma gelen kötü şeylerden ders almayı seçerim. Birisi bana bir şeyden şikayete geldiğinde , gene iki seçimim var .. Şikayetini kabul etmek ya da ona hayatın olumlu yanlarını göstermek. Ben hayatın olumlu yanlarını seçerim. Yok yahu, diye protesto ettim. Bu kadar kolay yani ? Evet.. Kolay dedi Jerry.. Hayat seçimlerden ibarettir . Her durumda bir seçim vardır . Sen her durumda nasıl davranacağını seçersin. Sen insanların senin tavrından nasıl etkileneceklerini seçersi. Sen havanın, tavrının iyi ya da kötü olmasını seçersin … Yani sen, hayatını nasıl yaşayacağını seçersin !.. Jerry’nin sözleri beni oldukça etkiledi. Onu, uzun yıllar görmedim. Ama, hayatımdaki talihsiz olaylara dövünmek yerine, seçim yapmayı tercih ettiğimde hep onu hatırladım. Yıllar sonra , Jerry’nin başına çok tatsız bir şey geldi . Soygun için gelen hırsızlar, paniğe kapılıp , Jerry’yi delikdeşik etmişler … Ameliyatı 18 saat sürmüş , haftalarca yoğun bakımda kalmış . Taburcu edildiğinde , kurşunların bazıları hala vücudundaymış . Ben onu , olaydan altı ay sonra gördüm . Nasılsın ? diye sorduğumda , Bomba gibiyim dedi Bomba gibi. Olay sırasında neler hissettin Jerry dedim. Yerde yatarken, iki seçimim var diye düşündüm.. Ya yaşamayı seçecektim, ya ölümü.. Ben yaşamayı seçtim. Korkmadın mı, şuurunu kaybetmedin mi !.. Ambülansla gelen sağlık görevlileri harika insanlardı. Bana hep İyileşeceksin merak etme dediler. "
metin1 = Split(metin.ToUpper, " ") ' metinin boşluklara göre ayrılmış halini metin1 e aktarır
For i = 0 To UBound(metin1)
For j = i To UBound(metin1)
If metin1(i) = metin1(j) Then
tekrarsayisi(i) = tekrarsayisi(i) + 1
End If
If (tekrarsayisi(i) > eleman) Then
eleman = i
End If
Next
Next
For i = 0 To UBound(metin1)
Dim min As Integer = i
For j = i + 1 To UBound(metin1)
If (tekrarsayisi(j) < tekrarsayisi(min)) Then
min = j
End If
Next
Dim temp As Integer = tekrarsayisi(i)
tekrarsayisi(i) = tekrarsayisi(min)
tekrarsayisi(min) = temp
Next
Console.WriteLine("En cok kullanılan kelime: " + metin1(eleman))
Console.WriteLine("Tekrar Sayisi: " + Convert.ToString(tekrarsayisi(UBound(metin1))))
End Sub
End Module
bende böyle bişey yaptım ama şu 0 lar olmasa daha iyi olurdu
Kod:Imports System
Module Program
Sub Main(args As String())
Dim metin As String
Dim metin1() As String
Dim eleman As Integer = 0
Dim i As Integer
Dim tekrarsayisi() As Integer = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
'tekrarsayısı isimli değişkendeki 0 lar metin1.Lenght komutundan gelen sayıya göre konulmuştur metinde 250 kelime vardır
metin = " Her sabah kalktığımda kendi kendime Jerry bugün iki seçimin var : Havan ya iyi olacak, ya kötü .. derim. Havamın iyi olmasını seçerim. Kötü bir şey olduğunda gene iki seçimim var : Kurban olmak , ya da ders almak. Ben başıma gelen kötü şeylerden ders almayı seçerim. Birisi bana bir şeyden şikayete geldiğinde , gene iki seçimim var .. Şikayetini kabul etmek ya da ona hayatın olumlu yanlarını göstermek. Ben hayatın olumlu yanlarını seçerim. Yok yahu, diye protesto ettim. Bu kadar kolay yani ? Evet.. Kolay dedi Jerry.. Hayat seçimlerden ibarettir . Her durumda bir seçim vardır . Sen her durumda nasıl davranacağını seçersin. Sen insanların senin tavrından nasıl etkileneceklerini seçersi. Sen havanın, tavrının iyi ya da kötü olmasını seçersin … Yani sen, hayatını nasıl yaşayacağını seçersin !.. Jerry’nin sözleri beni oldukça etkiledi. Onu, uzun yıllar görmedim. Ama, hayatımdaki talihsiz olaylara dövünmek yerine, seçim yapmayı tercih ettiğimde hep onu hatırladım. Yıllar sonra , Jerry’nin başına çok tatsız bir şey geldi . Soygun için gelen hırsızlar, paniğe kapılıp , Jerry’yi delikdeşik etmişler … Ameliyatı 18 saat sürmüş , haftalarca yoğun bakımda kalmış . Taburcu edildiğinde , kurşunların bazıları hala vücudundaymış . Ben onu , olaydan altı ay sonra gördüm . Nasılsın ? diye sorduğumda , Bomba gibiyim dedi Bomba gibi. Olay sırasında neler hissettin Jerry dedim. Yerde yatarken, iki seçimim var diye düşündüm.. Ya yaşamayı seçecektim, ya ölümü.. Ben yaşamayı seçtim. Korkmadın mı, şuurunu kaybetmedin mi !.. Ambülansla gelen sağlık görevlileri harika insanlardı. Bana hep İyileşeceksin merak etme dediler. "
metin1 = Split(metin.ToUpper, " ") ' metinin boşluklara göre ayrılmış halini metin1 e aktarır
For i = 0 To UBound(metin1)
For j = i To UBound(metin1)
If metin1(i) = metin1(j) Then
tekrarsayisi(i) = tekrarsayisi(i) + 1
End If
If (tekrarsayisi(i) > eleman) Then
eleman = i
End If
Next
Next
For i = 0 To UBound(metin1)
Dim min As Integer = i
For j = i + 1 To UBound(metin1)
If (tekrarsayisi(j) < tekrarsayisi(min)) Then
min = j
End If
Next
Dim temp As Integer = tekrarsayisi(i)
tekrarsayisi(i) = tekrarsayisi(min)
tekrarsayisi(min) = temp
Next
Console.WriteLine("En cok kullanılan kelime: " + metin1(eleman))
Console.WriteLine("Tekrar Sayisi: " + Convert.ToString(tekrarsayisi(UBound(metin1))))
End Sub
End Module
bende böyle bişey yaptım ama şu 0 lar olmasa daha iyi olurdu
benim eklediğim kod çalışmadı mı
@benbendedeilem
Konuyu Okuyanlar: 1 Ziyaretçi