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


störst och minst

Postades av 2008-02-08 05:05:21 - Robbin Westerlund, i forum c++, Tråden har 4 Kommentarer och lästs av 1367 personer

Håller på att lära mig lite om vectors nu iaf och har stött på ett litet problem

om jag har en vector (talen) med massa tal och vill ta ut det största resp. minsta talet

// största
	for (int i=0; i < antalet; i++)
	{
		if(talen[i] > talen[i-1])
			max = talen[i];
	}

så sätter den hela tiden max till det talet om det är större än det innan, problemet uppstår när jag försöker göra det åt andra hållet och vill få ut det minsta talet!
klockan är mycket nu och jag tror min hjärna inte vill fungera riktigt som den ska och det kanske är jag som tänker helt fel när jag försöker lösa det.

tacksam för svar


Svara

Sv: störst och minst

Postades av 2008-02-08 07:09:36 - Thomas Vanhaniemi

Ett snabbt exempel, finns kanske enklare sätt men detta borde fungera.

// största
	if(antalet > 0)
		max = talen[0];
	for (int i=1; i < antalet; i++)
	{
		if(talen[i] > max)
			max = talen[i];
	}

// minsta
	if(antalet > 0)
		min = talen[0];
	for (int i=1; i < antalet; i++)
	{
		if(talen[i] < min)
			min = talen[i];
	}


Svara

Sv:störst och minst

Postades av 2008-02-08 09:22:20 - Thomas Vanhaniemi

Och lite optimerat

// största och minsta
	if(antalet > 0)
	{
		max = talen[0];
		min = max;
	}
	for (int i=1; i < antalet; i++)
	{
		if(talen[i] > max)
		{
			max = talen[i];
		}
		else if(talen[i] < min)
		{
			min = talen[i];
		}
	}


Svara

Sv: störst och minst

Postades av 2008-02-08 19:36:25 - Robbin Westerlund

smart, tänkte inte på att det är smart att definera max och min direkt innan jag kör kollen


Svara

Sv:störst och minst

Postades av 2008-02-08 19:58:57 - Niklas Jansson

Det kan även vara instruktivt att visa den lite mer "rena" lösningen på samma tema;

    max = std::numerical_limits<int>::min()
    for (int i=0; i < antalet; i++)
    {
        if(talen[i] > max)
            max = talen[i];
    }

alternativt:
    max = -std::numerical_limits<double>::infinity()
    for (int i=0; i < antalet; i++)
    {
        if(talen[i] > max)
            max = talen[i];
    }

Kan först verka som något fult, men ändå renare när man tänker på det.

Sen finns ju förstås standardbibliotekets;
max = *(max_element(talen, talen+antalet));

Och slutligen: använd hellre vector<> än array.


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

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 864
27 962
271 767
587
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