-
Data: 2013-12-04 19:29:08
Temat: Re: minmax(a,b,c)
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=