-
X-Received: by 10.49.74.134 with SMTP id t6mr99615qev.14.1386181749164; Wed, 04 Dec
2013 10:29:09 -0800 (PST)
X-Received: by 10.49.74.134 with SMTP id t6mr99615qev.14.1386181749164; Wed, 04 Dec
2013 10:29:09 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!p15no4162618qaj.0!news-out.g
oogle.com!9ni708qaf.0!nntp.google.com!p15no4162606qaj.0!postnews.google.com!gle
groupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 4 Dec 2013 10:29:08 -0800 (PST)
In-Reply-To: <l7nqcc$q5f$1@node2.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.61.131.25;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 31.61.131.25
References: <5...@g...com>
<l7nqcc$q5f$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5...@g...com>
Subject: Re: minmax(a,b,c)
From: firr <p...@g...com>
Injection-Date: Wed, 04 Dec 2013 18:29:09 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:204749
[ ukryj nagłówki ]W dniu środa, 4 grudnia 2013 18:55:37 UTC+1 użytkownik bartekltg napisał:
> W dniu 2013-12-04 18:36, firr pisze:
>
> > porzebuje kodu ktory dla zadanych trzech intow
>
> >
>
> > int a = 4; int b = 19; int c = 2; ....
>
> >
>
> > int min = ... int max = ...
>
> >
>
> > zwroci najmniejsza i najwieksza wartosc przy jak najmniejszej liczbie
>
> > porownan (tak zeby szybko dzialalo no jest odpalane w petli)
>
> >
>
> > int min = min(min(a,b),c); int max = max(max(a,b),c);
>
> >
>
>
>
> Przecież to proste.
>
>
>
> int m,M;
>
>
>
> if (a>b)
>
> {
>
> M=a;
>
> m=b;
>
> }
>
> else
>
> {
>
> M=b;
>
> m=a;
>
> }
>
>
>
> if (c>M)
>
> M=c;
>
> else if (c<m) m=c;
>
>
>
> > chyab nie jest optymalne, zreszta chyba wolalbym uniknac systemowych
>
> > min() i max() bo zawsze boje sie
>
> > ze sa wolne - nie wiem czy slusznie
>
>
>
> Niesłusznie. Są szybkie.
>
moze sa szybkie a moze nie sa - trzebaby chyba zawsze sprawdzac :c przy tym chyba
szybsze od
napisania tego ifem z reki nie są ? min to
logicznie zupelnie inna instrukcja niz if
(teoretycznie chyba powinna byc tańsza -
czesto mowi sie ze branche sa drogie)
dzis mnie glowa boli i nie moge sie skupic,
co do tej wersji to chyba tak tyle ze napisalem
wersje rozwinietą
if(a<b)
{
if(a<c)
{
min = a;
if(b<c)
{
max = c;
}
else
{
max = b;
}
}
else //a > c & a<b
{
min = c;
max = b;
}
}
else //a>b
{
if(a>c)
{
max = a;
if(b>c)
{
min = c;
}
else
{
min = b;
}
}
else //a>b & a<c
{
min = b;
max = c;
}
}
ale ciagle nie wiem czy nie daloby sie moze
tego jakos jeszcze podoptymalizowac, przepisywanie
na asma by cos dalo?
>
>
> Ale przy jednoczesnym wyznaczaniu min i max da się
>
> to zrobić szybciej, jeśli robi się jednocześnie.
>
> Tak jak powyżej, mamy maksymalnie 3 porównania, (średnio
>
> 2+2/3(?)) a wyznaczając osobno min i max mielibyśmy 4.
>
>
>
>
>
> W c++11 mamy funkcję minmax, zwracającą uporządkowaną parę
>
> oraz minmax_element, działający na kontenerze.
>
>
>
> Szukając naraz min i max w tablicy n elementów, wykonuje
>
> się 1.5n porównań, zamiast 2n.
>
>
>
> pzdr
>
> bartekltg
Następne wpisy z tego wątku
- 04.12.13 19:41 bartekltg
- 04.12.13 20:05 firr
- 04.12.13 20:48 intuicjonista
- 04.12.13 22:09 bartekltg
- 04.12.13 23:16 Wojciech Muła
- 04.12.13 23:36 bartekltg
- 05.12.13 01:48 bartekltg
- 05.12.13 09:15 firr
- 05.12.13 09:22 firr
- 05.12.13 10:05 firr
- 05.12.13 10:23 g...@g...com
- 05.12.13 10:44 firr
- 05.12.13 11:08 g...@g...com
- 05.12.13 11:54 firr
- 05.12.13 12:18 intuicjonista
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją