Hledání digramů – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hledání digramů – Visual Basic – Fórum – Programujte.comHledání digramů – Visual Basic – Fórum – Programujte.com

 

David Jambor
~ Anonymní uživatel
2 příspěvky
16. 10. 2012   #1
-
0
-

Dobrý den, 

potřeboval jsem udělat program ne hledání digramů, tak nějak jsem to sesmolil, ale narazil jsem na problém.

Program mi najde v textu digram, zapíše do buňky a hledá dál, ale jakmile najde znovu stejný digram, tak se celý cyklus opakuje a do buněk se neustále zapisují stejné digramy a tak místo jedné zaplněné buňky jich mám třeba 10 . Zkuste zapsat do textboxu třeba text "ahoj ahoj ahoj" a bude to jasnější, asi to líp takhle nevysvětlím.

Program ke stažení zde http://dl.dropbox.com/u/80236311/programek.xlsm

Předem děkuji za pomoc

retezec = TextBox1.Value 'vkládaný text
retezec = Trim(retezec)



'hledani digramu
For Start = 1 To Len(retezec)

 citac = 0
 prvniznak = Mid(retezec, Start, 1)
 druhyznak = Mid(retezec, Start + 1, 1)
 obaznaky = prvniznak & druhyznak
 
  If Trim(Len(obaznaky)) = 2 Then
   For astart = 1 To Len(retezec)
     aprvniznak = Mid(retezec, astart, 1)      ' odliseni znaku v prvnich cyklu od druheho
      adruhyznak = Mid(retezec, astart + 1, 1)
       aobaznaky = aprvniznak & adruhyznak
        If obaznaky = aobaznaky Then
            citac = citac + 1
        End If
   Next astart
  End If
  
    volna_bunka = 0
    
    Do
     volna_bunka = volna_bunka + 1
    Loop Until Range("A" & volna_bunka) = empthy
    
    If citac >= 1 Then
     Range("A" & volna_bunka) = obaznaky
     Range("B" & volna_bunka) = citac
    End If
    
        
 Next Start
Nahlásit jako SPAM
IP: 46.252.224.–
JoDiK
~ Anonymní uživatel
987 příspěvků
16. 10. 2012   #2
-
0
-

#1 David Jambor
Máš tam logickou chybu. Zjednodušeně řečeno každou dvojici znaků prohledáváš od začátku do konce zadaného textu, takže u druhého výskytu zase najdeš ten první výskyt a vypíšeš znovu do výsledků, nebo-li kolikrát tam ta dvojice je, tolikrát ji znovu a znovu hledáš a vypisuješ...

Budeš to muset vymyslet lépe...

Nahlásit jako SPAM
IP: 88.103.233.–
David Jambor
~ Anonymní uživatel
2 příspěvky
18. 10. 2012   #3
-
0
-

#2 JoDiK
No to vím taky, že tam mám logickou chybu, ale nevím jak to ošetřit...  každopádně díky za čas.

Nahlásit jako SPAM
IP: 46.252.224.–
JoDiK
~ Anonymní uživatel
987 příspěvků
19. 10. 2012   #4
-
0
-

#3 David Jambor
A co třeba tak, že si budeš všechny nalezené dvojice ukládat a každou další dvojici nejdřív porovnáš se všemi uloženými, jestli už tam náhodou nebyla a když ne, tak ji přidáš, když jo tak přičteš jedničku k počtu pro tu konkrétní dvojici?

Nahlásit jako SPAM
IP: 88.103.233.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Hledani v souboru.. — založil Alexey

Hledání pokladu — založil gafan4ik

Hledani retezce — založil pazdy

Hledaní absolventů — založil Evík

Hledání v řetězci — založil Dr. ERROR

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý