HaPagan Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 Λοιπόν αν έχουμε ένα string πως θα ελέγξουμε αν όλοι οι χαρακτήρες είναι ίδιοι;Προς το παρόν έχω καταφέρει να αποθηκεύσω κάθε χαρακτήρα ξεχωριστά σε έναν πίνακα.
Mihos_Gr Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 Kalo 8a htan na mas eleges kai se poia Glwssa Programmatismou to 8eleis kai na e3hgouses ti 8es na kaneis, de mporw na katalavw kan ti zhtas.
HdkiLLeR Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 Opos ipothike kai parapanw kalo tha itan na mas peis kai se pai glossa programatismou thes na to ilopoiiseis.Alla ean exeis perasei olous toys xaraktires se enan pinaka tote einai poly aplo sigkrine ta stoixeia topy pinaka kai des ean einai ola ta idia.
r00t Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 Xmm geniki apantisi, opos geniki ine kai i erotisi sou. 1.Apothikeuse olous tou xaraktires se ena array, 2.Kane search mesa sto array me ena For loop, 3.Sigrine kathe index tou array metaksi tous 4.Epestrepse to apotelesma. Tha sou doulepsei gia Java, C++ isos kai VB. Tora an thes paradeigma me kodika kala tha itane na mou peis se poia glossa. Mipos tha prepei na kanoume ena template sta post tou programmatismou, to opoio tha exei ena standard header tou typou : OS: Compiler: Description : Platform : Other : Opote se kathe post na katalabainoume ti akrivos thelei na kanei kapoios ? <img border="0" title="" alt="[Eek!]" src="images/icons/shocked.gif" />
Dvs Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 den xreiazetai na tous peraseis se pinaka. ginetai poli pio apla <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" /> Orise mia boolean metavliti(arxikopoiise se true) kai mia char X [x exei to proto xaraktira tou string] Katopin sigrine apo to 2 xaraktira mexri to mikos tou string. An mia sigrisi einai diaforetiki tote i result=false kai exit loop
Γηρυόνης Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 Η λύσεις που ειπώθηκαν από τα παιδιά είναι όλες σωστές. Μοναδική ένσταση το δεύτερο τμήμα της απάντησης του Dvs. Αν το γράφεις σε Java είναι καλύτερα να έχεις πίνακα χαρακτήρων παρά String γιατί είναι γρηγορότερο με πίνακα και πιάνει πιο λίγη μνήμη. Αυτό που είπε ο root επίσης είναι σωστό. Αν ζητάτε πηγαίο κώδικα καλό είναι να υπάρχει ένα template για να ξέρουμε με τι έχουμε να κάνουμε. Σου παραθέτω παρακάτω μία μέθοδο σε Java που κάνει αυτό που θέλεις και μπορείς να αλλάξεις τη σύνταξη για άλλη γλώσσα αν θέλεις. Μπορεί να έχω συντακτικά λάθη. Αγνόησέ τα. Σκοπός είναι να σου δώσω μία γενική ιδέα. </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">public static boolean compareCharacters(String s) { char [] charArray = s.toCharArray(); // Convert the String to a character array int length = charArray.length; for (int i=0; i<length; i++) { // Avoid ArrayIndexOutOfBoundsException if (i+1 == length) break; if (charArray != charArray[i+1]) return false; } return true; }[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Ελπίζω να έπιασες τη λογική.
Dvs Δημοσ. 15 Απριλίου 2002 Δημοσ. 15 Απριλίου 2002 girioni pos mporei na pianei ligoteri mnimi? Afou exeis ena string kai ena pinaka eno stin lisi mou pianeis mnimi mono gian to string. kanei kana kolpo i java? <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" />
HaPagan Δημοσ. 15 Απριλίου 2002 Μέλος Δημοσ. 15 Απριλίου 2002 Συγγνώμη ρε παιδιά.Λοιπόν χρησιμοποιώ την VB6. Σας ευχαριστώ όλους σας!!!
Γηρυόνης Δημοσ. 16 Απριλίου 2002 Δημοσ. 16 Απριλίου 2002 </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Originally posted by Dvs: <strong>girioni pos mporei na pianei ligoteri mnimi? Afou exeis ena string kai ena pinaka eno stin lisi mou pianeis mnimi mono gian to string. kanei kana kolpo i java? <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" /> </strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Nai h Java doyleyei diaforetika se ayton ton tomea. Genikws einai kalh praktikh na xrhsimopoioyme char arrays h akoma kai byte arrays anti gia Stings h StringBuffers. Pianei ligoterh mnhmh kai einai kai pio grhgora. O logos egkeitai sto oti ta String sth Java einai immutable, dhladh o,tidhpote allazeis panw se ena String h JVM dhmioyrgei ena kainoyrio String object. An loipon exeis ena String kai to allakseis 100 fores (eite pros8etontas, eite afairwntas xarakthres, eite kanontas kati allo) tote 8a dhmioyrgh8oyne 100 diaforetika String antikeimena. De symbainei to idio bebaia me toys StringBuffers h me toys pinakes xaralkthrwn.
Dvs Δημοσ. 16 Απριλίου 2002 Δημοσ. 16 Απριλίου 2002 aa na xrisimopoiiseis mono array. oxi kai ta 2 <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" /> HaPagan: pantos vgenei poli eukola se VB
NickTheGreek Δημοσ. 17 Απριλίου 2002 Δημοσ. 17 Απριλίου 2002 Opos eipe kai o Dvs:gia na einai oloi oi xaraktires idioi, tha prepei oloi na einai idioi me ton proto.Opote perneis ton proto xaraktira kai ton sigkrineis me tous allous px esto String1 to string Dim i As Integer Dim match As Boolean Dim String1 As String, Char1 As String, Char2 As String Char1 = Left$(String1, 1) For i = 2 To Len(String1) Char2 = Mid(String1, i, 1) If Char2 <> Char1 Then match = False Exit For End If match = True Next i An den thes na sigkrineis tin katastasi tou xaraktira, diladi an einai kefalaio h mikro to gramma,metatrepeis apo thn arxi to string sou se mikra h kefalaia. Tora oson afora tin taxitita stin VB den yparxei to paramikro problima.Kai 15000 xaraktires na exei to string sou h diadikasia tha oloklirothei se ligotero apo 1 sec.
Επισκέπτης Δημοσ. 17 Απριλίου 2002 Δημοσ. 17 Απριλίου 2002 Νομίζω, ότι ο τρόπος του nickthegreek ελέγχει μόνο τον πρώτο χαρακτήρα με τους υπόλοιπους και όχι κάθε χαρακτήρα με τους υπόλοιπους. Αν το κάνεις όπως παρακάτω θα ελέγχει όλους τους χαρακτήρες με τους επόμενούς του. (δεν έχω vb6 στο pc που είμαι, αλλά μάλλον σωστό είναι) dim str1 as string, i as single, same as boolean For i=1 to len(str1)-1 For k=i+1 to len(str1) If mid(str1,i,1)<> mid(str1,k,1) then same=false exit for Else same=true Endif Next k Next i
Dvs Δημοσ. 17 Απριλίου 2002 Δημοσ. 17 Απριλίου 2002 timiman: esto oti exoume ena string 3 xaraktiron. Se xarakrires: an 1=2 kai 1=3 tote apokleiete 1<>2 Genikeuontas (kalo?) an 1=2, 1=3, 1=4 ... 1=n kai 2=3, 2=4,2=5 etc....
Επισκέπτης Δημοσ. 17 Απριλίου 2002 Δημοσ. 17 Απριλίου 2002 </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Originally posted by Dvs: <strong>timiman: esto oti exoume ena string 3 xaraktiron. Se xarakrires: an 1=2 kai 1=3 tote apokleiete 1<>2 Genikeuontas (kalo?) an 1=2, 1=3, 1=4 ... 1=n kai 2=3, 2=4,2=5 etc....</strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Sorry βρε Dvs, δε το έπιασα... Τι θέλεις να πεις; Αφού 1=2 εννοείτε 1<>2, λογικό δεν είναι; <img border="0" title="" alt="[Frown]" src="images/icons/frown.gif" /> UPDATE!!! ΟΚ, μάλλον σε έπιασα. εννοούσες 1<>3 και όχι 1<>2. Ναι, όντως είναι περιττός ο 2ος βρόγχος. <small>[ 17-04-2002, 14:23: Το μήνυμα επεξεργάστηκε από: timiman ]</small>
Dvs Δημοσ. 17 Απριλίου 2002 Δημοσ. 17 Απριλίου 2002 nai exeis dikio lathos diko mou <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" /> 1<>3 ktl...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.