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


Vektorer

Postades av 2005-07-19 22:39:15 - Johanna Lundberg, i forum c++, Tråden har 7 Kommentarer och lästs av 823 personer

Hej,
Jag har fått till uppgift att skriva in en mening och sen spara meningen i en vektor.
Sen ska jag räkna hur många gånger varje bokstav i alfabetet kommer upp och resultatet ska skrivas ut.

Jag har gjort om alla bokstäver till ascii form. Hur sparar jag det sen i en vektor, räkar hur många gånger varje bokstav var med i meningen?

Kan någon hjälpa?
/ Johanna, C++ rookie......


Svara

Sv: Vektorer

Postades av 2005-07-20 08:52:55 - Andreas Hillqvist

Lite psuedokod:

vektor[255]
För varje bokstav x i din sträng{
vektor[ascii för bokstav x]++;
}

for (int i; i<=255;i++){
if (vektor[i]){
//Skriv ut: "Det finns" + vektor[i] +" antal av bokstaven" + omvandla i tll bokstav
}
}


Svara

Sv:Vektorer

Postades av 2005-07-24 19:15:25 - Johanna Lundberg

Okej,
Men behövs det inte en if sats för varje bokstav då? Det verkar mycket, eller menade du nåt annat?


Svara

Sv: Vektorer

Postades av 2005-07-25 09:55:49 - Andreas Hillqvist

If satsen ingår i loopen som skriver ut resultatet. If-satsen hindrarbokstäver som inte finns från att skrivas ut.


Svara

Sv: Vektorer

Postades av 2005-07-25 11:35:59 - Martin Adrian

>Jag har fått till uppgift att skriva in en mening och sen spara meningen i en vektor.

Förstår inte vitsen med att spara meningen i en vektor. Borde väl fungera lika bra att ha den i sen sträng.
<code>
std::string mystring = "En mening med fem ord"
</code>
för att kopiera meningen till en vektor kan man göra så här:
<code>
std::vector<char> myvector(mystring.begin(), mystring.end());
</code>

>Sen ska jag räkna hur många gånger varje bokstav i alfabetet kommer upp
<code>
std::string alfabet("ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ");
std::vector<int> vec(alfabet.size(), 0);

for (std::string::iterator it = mystring.begin(); it != mystring.end(); ++it) {
std::string::size_type pos = alfabet.find(std::toupper(*it), std::locale()), 0);
if (pos != std::string::npos)
vec[pos] += 1;
}
</code>

> och resultatet ska skrivas ut.
<code>
for (int ii = 0; ii < alfabet.size(); ++ii)
if (vec[ii])
std::cout << "Bokstav " << alfabet[ii] << " förekommer " << vec[ii] << " gånger." << std::endl;
</code>


Svara

Sv:Vektorer

Postades av 2005-07-25 12:25:31 - Johanna Lundberg

Tack för hjälpen!!

Kom på att det är statistiken, dvs hur många gånger varje bokstav förekommer i meningen som ska sparas i vektorn, inte själva meningen.
Försöker köra programmet ovan gav, men det funkar inte.
Det här är kanske en dum fråga, men skit samma.... jag undrar vad tecknen :: som används i koden gör. Jag har aldrig använt dem innan.
Kan man slippa skriva ut std:: hela tiden?

Sen undrar jag hur jag gör med ditt program och använder ascii values i stället för att räkna upp alfabetet. Det kanske inte spelar nån roll, men jag bara undrar....


Svara

Sv: Vektorer

Postades av 2005-07-25 13:10:45 - Martin Adrian

>jag undrar vad tecknen :: som används i koden gör.

De används för att specificera olika namnrymder. "std::" betyder att man skall använda namnet från standardbiblioteket.

Antag följande:
<code>
typedef int vector[10];

int main() {
vector x; // x är en array av integers
std::vector<int> y; // y är en std::vector
}
</code>
>Kan man slippa skriva ut std:: hela tiden?
Tja det kan man genom att skriva "using namespace std;" men varför vill du göra det? "std::" är ju en slags dokumentation som gör det lättare att förstå vad som händer. Orkar man inte skriva dokumentation är man illa ute.


Svara

Sv:Vektorer

Postades av 2005-07-25 13:21:01 - Johanna Lundberg

Aha,
Det var det att jag hela tiden har använt "using namespace std;"
Nu kan jag alltså i stället skriva "std::"
Det var bara det jag undrade.
När jag kör programmet ovan, kan jag göra det i "int main()" med #include<iostream> , #include<string> och #include<vector>?


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 617
27 953
271 709
5 717
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