mazda Δημοσ. 19 Απριλίου 2002 Δημοσ. 19 Απριλίου 2002 Παρακατω ειναι μια λυση σε assembly αν ενδιαφερεσαι : mov dx,1 ' initialize to true mov si,offset string1 cld lodsb ' get 1st char or al,al jz done L1: lodsb or al,al jz done ' ASCIIZ string check if string end cmp al,[si-2] je L1 mov dx,0 ' false done: mov result,dx Αν η result ειναι 0 (false), τοτε δεν ειναι ολοι οι χαρακτηρες ιδιοι. Αν ειναι 1 (true) τοτε ειναι.
Directx Δημοσ. 21 Απριλίου 2002 Δημοσ. 21 Απριλίου 2002 Θα μπορούσε να γίνει και έτσι στην C (ms-c 6.0): </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">int SameChar(char *pString) { int iIndex; for(iIndex=0;iIndex!=strlen(pString);iIndex++) { // Boundary check (do not exceed pString length) if(strlen(pString)-1>=iIndex+1) { // Strng array check (on first different char return -1) if(pString[iIndex]!=pString[iIndex+1]) { return -1; } } else { // End of string. break; } } return 0; // All characters same. }[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">0= όλοι ίδοι , -1= διαφορά (αν θες να είναι case insensitive όπως προείπαν και οι υπόλοιποι μετέτρεψε τους χαρακτήρες σε κεφαλαίους ή μικρούς δες: strupr/strlwr ή CharUpper/CharLower σε Win32s API) Καλή τύχη. <small>[ 21-04-2002, 19:41: Το μήνυμα επεξεργάστηκε από: Directx ]</small>
Γηρυόνης Δημοσ. 21 Απριλίου 2002 Δημοσ. 21 Απριλίου 2002 Paidia kalo 8a htan otan grafete phgaio kwdika na ton bazete mesa se [.code] kai [.code] wste na mporoyne na to diabazoyme kalytera. <small>[ 21-04-2002, 14:37: Το μήνυμα επεξεργάστηκε από: Γηρυόνης ]</small>
interdata Δημοσ. 8 Νοεμβρίου 2002 Δημοσ. 8 Νοεμβρίου 2002 Public Function Test(data As String) If String(Len(data), Mid(data, 1, 1)) = data Then Test = True Else Test = False End If End Function
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.