-
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
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-11 To już efekt Żurka czy coś jeszcze GORSZEGO?
- 2025-12-11 Policjanci w mieście Łodzi zmierzą ci prędkość z błędem mniejszym niż producent w laboratorium :-)
- 2025-12-11 Warszawa => Senior Java Developer <=
- 2025-12-11 Kolejny prezent
- 2025-12-10 hameryka
- 2025-12-10 Tak im zależy na wlasnym kraju. :-(
- 2025-12-10 Czy "hipoteka przymusowa" podpada (powinna podpadać) pod ochronę immunitetem poselskim? [Ziobro]
- 2025-12-10 Żurek po raz kolejny wykazał jaki poziom reprezentuje
- 2025-12-10 Gdańsk => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2025-12-10 Rzeszów => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-10 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-12-10 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-12-10 Przekroczenie uprawnien
- 2025-12-10 China => Production Coordinator / Representant Product Dev <=
- 2025-12-10 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=




2035 rok coraz mniej realny? Europa traci tempo w wyścigu o elektromobilność