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


funderingar angående strängar

Postades av 2008-09-17 15:24:24 - Anders Eriksson, i forum visual basic - allmänt, Tråden har 5 Kommentarer och lästs av 1099 personer

Jag har en sträng med uttrycket.


345 + 23 - 34

då e min fundering hur jag får talet 345 till en plats i en vektor

visst kan ja ta bit för bit at strängen .
gör ja det svårare för mig själv

har för mig att ja kan copiera strängar i c++.


vill inte att nån idiotförklarar mig nu
vill inte ha nån färdig kodsnutt utan en pusselbit så ja kan fösöka själv o kommer ja inte på det så då kan ja fråga.


Svara

Sv: funderingar angående strängar

Postades av 2008-09-17 15:43:03 - Oskar Johansson

är det visual basic eller c++ du pratar om nu?


Svara

Sv: funderingar angående strängar

Postades av 2008-09-17 15:45:01 - Per Hultqvist

Parsning:

Tolka tecknens i strängen ett och ett...

3 => Siffra, vi fortsätter
3 4 => Siffra, vi fortsätter
34 5 => Siffra, vi fortsätter
345 + => Nu kom ett ickenumerisk tecken alltså är 345 hela talet, spara undan det,
2 => Siffra...
2 3 => Siffra
23 - => Nytt ickenumeriskt tecken, spara undan 23...

o s v

En annan lösning:
Splitta strängen på + genom att använda funtionen Split. Nu får du en arrray med 2 strängar "345" och "23-34".

Gå igenom dessa strängar i en loop och splitta på minustecken.
345 är numeriskt så det går inte att splitta
23-34 blir till 23 och 34
Gör du detta rätt, så kan du tolka den på detta sätt, men detta sätt blir fort otympligt när * och / och andra matematiska operationer kommer in i strängen.

Den första lösningen är nog rätt väg att gå om du håller på med en matematisk parser/miniräknare av något slag, då lösningen inte kollapsar när problemets komplexitet ökar.


Svara

Sv:funderingar angående strängar

Postades av 2008-09-17 16:02:15 - Per Hultqvist

Förtydligar mitt förslag lite grand:

Vad du i princip behöver göra är att bygga en liten tillståndsmaskin i koden : <url>http://en.wikipedia.org/wiki/Finite_state_machine</url>

Tillstånd 0:
Starttillstånd.Börja med att titta på första tecknet.

Om detta är en siffra mellan 1 och 9 så hoppar du till tillstånd 1.
Om detta är siffran 0 så är talet ogiltigt då ett tal inte skall börja på noll (förutsätter heltal), hoppa till tilstånd 99 (feltillstånd)
Om detta är ett minustecken så är det ett negativt tal, hoppa till tillstånd 2
Alla andra tecken går till tillsåtnd 99 då de är ogiltiga

Tillstånd 1:
Vi är nu inne i ett tal som börjat på en siffra 1-9, titta på nästa tecken

Om 0-9 så fortsätter talet, gå till tillstånd 1 igen
om + eller - så avslutas talet, gå till tillstånd 3


Tillstånd 2:
Negativt tal påbörjat (minustecken). Titta på nästa tecken...

Om detta är en siffra mellan 1 och 9 så hoppar du till tillstånd 1.
Om detta är siffran 0 så är talet ogiltigt då ett tal inte skall börja på noll (förutsätter heltal), hoppa till tilstånd 99 (feltillstånd)
Alla andra tecken går till tillsåtnd 99 då de är ogiltiga

Tillstånd 3:
Ett tal har avslutats, parsa det och hoppa till tillstånd 0 igen....



Detta är säkert inte helt korrekt, men ungefär så går tänket, och det görs lämpligen med en loop och en Select/Switch-sats



Svara

Sv: funderingar angående strängar

Postades av 2008-09-18 13:16:09 - Anders Eriksson

i visual basic

En idé som ja hade var att ja har 3 vektorer

en formelvektor
en tempvektor
samt en beräkningsvektor

först skriver ja in uttrycket till exempel

345 + 23 -2

sen kollar ja vad som är tal
det som e tal för ja över till tempvektorn

det som hamnar i tempvektorn först e talet
när talet e flyttat till tempvektorn så kopierar ja hela strängvektorn till
en plats i beräkningsvektorn
när ja flyttat talet till tempvektorn o det inte e nåt mer tecken som ska användas i tempvektorn

så flyttar ja resten av tecknena i formelvektorn




när ja har flyttat allat så det hamnat i beräkningsvektorn kommer det att se ut så här


ber(0) 345
ber(1) +
ber(2) 23
ber(3) -
ber(4) 2


Svara

Sv:funderingar angående strängar

Postades av 2008-09-18 18:14:39 - Anders Eriksson

funderingen e c o c++ med

kan du rekomendera nån bra bok

/ Tobben


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 725
27 958
271 751
333
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