Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


får inte Array.BinarySearch att funka

Postades av 2006-11-13 21:30:36 - Joakim Åhl, i forum c# (c-sharp), Tråden har 13 Kommentarer och lästs av 1105 personer

Får inte min Array.BinarySearch att funka de retunerar alltid ett minus värde (negativa värdet på antalet i arrayen +1 ) vilket innebär att han inte hittar något.

getSweWord() retunerar en string array;
newArr får sinna värden från getSweWord() och den innehåller massa poster.
SweWord kommer från en textbox.

När jag debugar så innehåller både newArr och SearchObj värde.Jag har kollat och det som står i textboxen finns med i arrayen så det är inga problem.Så det blir något fel i själva Array.BinarySearch. Någon som ser något fel?


<code>
public string getSweJapWord(string SweWord)
{
object SearchObj = SweWord;
string[] newArr = getSweWord();
int INumber = (Array.BinarySearch(newArr, 0, newArr.Length, SweWord));
int PlatsNummer = (newArr.Length - (INumber*-1));
if (~INumber >= 0)
{

return getSweWord()[(~INumber )];
}
else
{
return getSweWord()[3];
}

}
</code>

Tacksam för svar!


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-13 23:00:03 - Joakim Åhl

Kan det vara så att han hittar men det finns fler än en?

tex söker jag på "med" så hittar han "med" och "medarbetare" eller är sökningen exact?


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 08:45:29 - Roger Alsing

är din array sorterad då?


Svara

Sv:får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:11:52 - Joakim Åhl

Om du menar i bokstavsording så nej. Måste Array.BinarySearch vara i bokstavsording?


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:17:43 - Niklas Jansson

Binärsökning kräver alltid sorterat data. Du kan inte söka i en osorterad text snabbare än O(n) (förutom i en del specialfall som man aldrig bryr sig om).


Svara

Sv:får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:21:24 - Joakim Åhl

okej då funkar inte Array.BinarySearch i mitt fall. Då varanat värde är på svenska varanat på japanska.
skulle ju kunna ha två arrayer men hur gör jag då så att jag vet vilket svenskt ord som hör samman med japanska.


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:27:28 - Niklas Jansson

Finns det inte något i stil med "Map" i .NET? Eller möjligtvis hashtabell?
Hade jag skrivit det i c++ hade jag skrivit:

map<string, string> m;
while(...)
  m[svenskt_ord] = m[japanskt_ord];

print(m["yxa"]); // ger japanska ordet för "yxa"


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:30:14 - Oskar Johansson

Låter som att du skulle har någon form av one-to-one relation, typ. ett Dictionary.

Problemet jag ser är att ett ord skulle kunna representeras av flera ord, och då skulle nog en one-to-many relation vara bättre. Å andra sidan så skulle nog en hel grupp ord kunna översättas till en hel annan grupp ord, så då skulle en many-to-many-relationen vara vettigast.

One-to-one-relation är enkelt att göra i .net, det finns inbyggt, då är det en hashtable du ska ha i .net 1.*, eller ett dictionary i .net 2/3.

One-to-many är ganska enkelt att göra, man tar då helt enkelt och gör som ovan, fast istället för ett värde så har man en array med värden.

Many-to-many är värre då man kan tänka sig att samma uppslagsord ska vara i flera grupper, och det stödjer inte de dictionarys som finns i .net, då får man börja hitta på något eget, typ:

1) dictionary med ett ord som key
2) Värde är en lista med arrayer med värden
3) Arrayerna kan finnas i flera listor på flera poster i dictionaryt


Svara

Sv:får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:41:19 - Joakim Åhl

hashtabell finns men fattar inte hur jag skall använda den? det har ju två argument

h.Add("Key1", "Value1");

key skulle ju vara nummret på arrayen men det ändras ju när jag kör en sortering på den.
Kan man köra Array.BinarySearch på en tvådimitonell array? I så fall bara sortera på förstadelen av arrayen och då får jag ju fram det japanska ordet. arr[svenska_ord][japanska_ord]


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:44:38 - Niklas Jansson

Key skulle vara det svenska ordet.
Value skulle vara det japanska ordet.

Behöver du kunna kolla åt båda hållen kan du ha en motsatt variant.


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:51:31 - Joakim Åhl

det är denna filen jag använder
http://www.dicts.info/uddl.php?k1=91&k2=108&format=text&create=Create+the+list+of+translations
tar dock bort infotexten innan den kommer in i arrayen sen kör jag en slipt (Tabb) och tar bort mellanslag( som det är just nu,vet att det blir fel).Som ni ser så är varranat ord svensk varrant japanskt.

Sen är det som sagts vissa ord som har olika betydelser.

Tänkte jag skulle slippa att slänga in det i en databas men det kankse är det bästa alternativet.


Svara

Sv:får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:52:43 - Joakim Åhl

Japp skall gå åt båda hållen. Skall gå att lägga in mer språk med tiden.


Svara

Sv:får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:56:58 - Joakim Åhl

Funka inte med hash då det finns flera ord som är lika.


Svara

Sv: får inte Array.BinarySearch att funka

Postades av 2006-11-14 14:57:55 - Oskar Johansson

> Funka inte med hash då det finns flera ord som är lika.

Ta och läs mitt inlägg en gång till, har en lösning på problemet där ;)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 953
271 705
491
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies