Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyswietlaanie licz od najmniejszej do najwiekszej
invx
post
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


mam 4 liczyby w zmeinnych a b c i d

i jak uzywajac tylko waronkow if, (nie petli czy gotowej funkcji w php, ani tablic) wyswietlic je od najmniejszej do najwiekszej, gosc mi w szkole cos takiego kazal napisac, ja posiedziale mnad tym pare godzin, i czeski film - nikt nic nie wie. Dajcie jakies wskazowki, bo ja nie obejmuje tego swoim umyslem, jak mozna to na IF'a ch zrobic, pogrzalo go ... ?


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Prawie : Da się: robisz 3 if-y aby znalesc najwieksza z nich
Tak samo najmniejsza. A z reszta nie wiem sad.gif ale tu chodzi zagniezdzone if-y - mozna usuwac zmienne albo zmieniac im wartosci questionmark.gif- jesli tak to cos sie da zrobic


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
invx
post
Post #3





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


mi sie tez udalo dojs zeby odnalesc najwieksza i najmniejsza blink.gif nie mozna usuwac, zmiennych, a wartosci to normalnie poprzez przypisanie ze $druga=$b, sadsmiley02.gif, zagniezdzac ify mozna

to bedzie if w ifie ifa ifem pogania aaevil.gif ale pomuzcie, bo cos musze wykombinowac

Ten post edytował invx 12.02.2005, 22:25:03


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
sztosz
post
Post #4





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


zrobiłem to w c++ bo tak mi łatwiej, program działa sprawnie, ale sprawdz czy się gdzies nie jeb***em sad.gif
Same IF ELSE. W sumie 10 zmiennych. 4 do wprowadzenia danych. 4 do pożadkowania od najwyzszej do najniższej i 2 pomocnicze. Kod jest strasznie długi mimo to go wkleje bo nie mam zadnego miejsca w sieci poza własnym kompem a on nie jest 24 h online,

Kod
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c,d;
    int pierwsza,druga,trzecia,czwarta;
    int x,y;
    cout << "podaj czwarta liczby, zatwierdz enterem każdą:";
    cin >> a;
    cin >> b;
    cin >> c;
    cin >> d;
//największa start
    if (a > b)
    {
        if (a > c)
        {
            if (a > d)
            {
                pierwsza = a;
            }
            else
            {
                pierwsza = d;
            }
        }
        else
        {
            if (c > d)
            {
                pierwsza = c;
            }
            else
            {
                pierwsza = d;
            }
        }
    }
    else
    {
        if (b > c)
        {
            if (b > d)
            {
                pierwsza = b;
            }
            else
            {
                pierwsza = d;
            }
        }
        else
        {
            if (c > d)
            {
                pierwsza = c;
            }
            else
            {
                pierwsza = d;
            }
        }
    }
//największa koniec

//najmniejsz start
    if (a < b)
    {
        if (a < c)
        {
            if (a < d)
            {
                czwarta = a;
            }
            else
            {
                czwarta = d;
            }
        }
        else
        {
            if (c < d)
            {
                czwarta = c;
            }
            else
            {
                czwarta = d;
            }
        }
    }
    else
    {
        if (b < c)
        {
            if (b < d)
            {
                czwarta = b;
            }
            else
            {
                czwarta = d;
            }
        }
        else
        {
            if (c < d)
            {
                czwarta = c;
            }
            else
            {
                czwarta = d;
            }
        }
    }
//najmniejsz koniec

//liczby srodkowe do tempów x i y start
    if (a == pierwsza)
    {
        if (b == czwarta)
        {
            x = c;
            y = d;
        }
        else
        {
            if (c == czwarta)
            {
                x = b;
                y = d;
            }
            else
            {
                x = b;
                y = c;
            }
        }
    }
    else
    {
        if (b == pierwsza)
        {
            if (c == czwarta)
            {
                x = a;
                y = d;
            }
            else
            {
                if (a == czwarta)
                {
                    x = c;
                    y = d;
                }
                else
                {
                    x = c;
                    y = a;
                }
            }
        }
        else
        {
            if (c == pierwsza)
            {
                if (b == czwarta)
                {
                    x = a;
                    y = d;
                }
                else
                {
                    if (a == czwarta)
                    {
                        x = b;
                        y = d;
                    }
                    else
                    {
                        x = b;
                        y = a;
                    }
                }
            }
            else
            {
                if (b == czwarta)
                {
                    x = a;
                    y = c;
                }
                else
                {
                    if (a == czwarta)
                    {
                        x = b;
                        y = c;
                    }
                    else
                    {
                        x = b;
                        y = a;
                    }
                }
            }
        }
    }
//liczby srodkowe do tempów x i y start

//ukladnanie środkowych środek
    if (x > y)
    {
        druga = x;
        trzecia = y;
    }
    else
    {
        druga = y;
        trzecia = x;
    }
//ukladnanie środkowych koniec
    cout << endl;
    cout << pierwsza << " > " << druga << " > " << trzecia << " > " << czwarta << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}


W sumie było to proste bo nie machnąłem się ani razu przy pisaniu i się skompilował bez ani jednego ostrzeżenia smile.gif
UPDATE:
W sumie dałoby się wykorzystac tylko 8 zmiennych bez wiekszych problemów, ale nie chce mi się, jak będzie trzeba daj znać.

Ten post edytował sztosz 12.02.2005, 23:13:58


--------------------
Go to the top of the page
+Quote Post
invx
post
Post #5





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


@sztosz dzieki wielkie, jestes moim dluznikiem biggrin.gif:D:D, musze to jeszce na scheat blokowy przerobic blink.gif, ale jakos sobie poradze, jeszce raz dzzieki

aha, co do dlugosci kodu
do guru z infu tak powiedzial "to tylko wyadaje sie skomplikowane, ale bedzie duzo prostrze niz to z trojkatami" aaevil.gif aaevil.gif aaevil.gif (to z trojkatami na hydeparku napisalem, "ostatnie szlify kodu") niech go szlag aaevil.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
sztosz
post
Post #6





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No i w sumie miał rację to nie było trudne, to było naprawdę łatwe tylko najgorsze jest to wklepywanie winksmiley.jpg i jeszcze jedno...

Cytat
sztosz...jestes moim dluznikiem...


A jak mogę splacić ten dług który zaciągnąłem? :mrgreen:


--------------------
Go to the top of the page
+Quote Post
invx
post
Post #7





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


odwrotnie, to ja jestem twoim biggrin.gif biggrin.gif

zrobilem z tego schemat blokowy to sto 3 strony A4 zajmuje blink.gif

P.S.
bo to przedewszystkim mialo byc na blokowym, a przeciez cos takiego na blokowy to niepowazne


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
sztosz
post
Post #8





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


To mu pokaż ten blokowy na 3 stronach A4. Ciekawe co zrobi? Ciekawe czy mu sie bedzie chciało sprawdzać? biggrin.gif Mi by się nie chcialo. biggrin.gif Ale niestety krucej jakoś nie bardzo umiem tego zrobić sad.gif


--------------------
Go to the top of the page
+Quote Post
invx
post
Post #9





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


jasne ze pokaze biggrin.gif , tak skromnie nie chwalac sie to w klasie jest najlepszy z infy, i jak ja tego nie napisalem, o ciekawe co inni zrobia biggrin.gif biggrin.gif

EDIT
to nie 3 strony a 6 :Pkm

Ten post edytował invx 13.02.2005, 19:46:23


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
antao
post
Post #10





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 8.02.2005

Ostrzeżenie: (0%)
-----


tak na marginesie winksmiley.jpg
sortowanie wszystkich możliwych kombinacji (np. 2, 3, 2, 3)
  1. <?php
  2.  
  3. //ustalamy liczby: $first and $quarter
  4. if ($a <= $b && $a <= $c && $a <= $d) 
  5.  $first = $a; //liczba a
  6. elseif ($b <= $a && $b <= $c && $b <= $d) 
  7.  $first = $b; //liczba b
  8. elseif ($c <= $a && $c <= $b && $c <= $d) 
  9.  $first = $c; //liczba c
  10. else $first = $d; //liczba d
  11.  
  12. $quarter = $a; //zakladamy ze jest to ostatnia liczba
  13. if ($b >= $quarter) 
  14. $quarter = $b;
  15. if ($c >= $quarter) 
  16. $quarter = $c;
  17. if ($d >= $quarter) 
  18. $quarter = $d;  
  19.  
  20. //ustalamy liczby: $second and $third
  21. if($a == $b || $a == $c || $a == $d) $p1 = TRUE;
  22. if($b == $c || $b == $d) $p2 = TRUE;
  23. if(empty($p2))
  24. if($c == $d) $p3 = TRUE; //zaleznosc 3-stopnia :)
  25.  
  26. if(($first != $a && $quarter != $a) || 
  27.  (!empty($p1) && $quarter >= $a && $first <= $a)) {
  28.  $m1 = $a;
  29.  $m2 = $a;
  30. }
  31. if(($first != $b && $quarter != $b) || 
  32.  (!empty($p2) && $quarter >= $b && $first <= $b)) {
  33.  $m1 = $b;
  34.  (empty($m2) ? $m2 = $b : $m2 = $m2);
  35. }
  36. if(($first != $c && $quarter != $c) || 
  37.  (!empty($p3) && $quarter >= $c && $first <= $c)) {
  38.  $m1 = $c;
  39.  (empty($m2) ? $m2 = $c : $m2 = $m2);
  40. }
  41. if($first != $d && $quarter != $d) {
  42.  $m1 = $d;
  43.  $m2 = $m2;
  44. }
  45. ($m1 > $m2 ? $second = $m2 : $second = $m1);
  46. ($m1 < $m2 ? $third = $m2 : $third = $m1);
  47. ?>


sortowanie liczb różnych od siebie (np. 1, 2, 3, 4)
  1. <?php
  2.  
  3. if ($a < $b && $a < $c && $a < $d) 
  4.  $first = $a; //liczba a
  5. elseif ($b < $a && $b < $c && $b < $d) 
  6.  $first = $b; //liczba b
  7. elseif ($c < $a && $c < $b && $c < $d) 
  8.  $first = $c; //liczba c
  9. else $first = $d; //liczba d
  10.  
  11. $quarter = $a; //zakladamy ze jest to ostatnia liczba
  12. if ($b > $quarter) 
  13. $quarter = $b;
  14. if ($c > $quarter) 
  15. $quarter = $c;
  16. if ($d > $quarter) 
  17. $quarter = $d;
  18.  
  19. if($a != $first && $a != $quarter) {
  20. $m2 = $a;
  21. }
  22. if($b != $first && $b != $quarter) {
  23. $m1 = $b;
  24. (empty($m2) ? $m2 = $b : $m2 = $m2);
  25. }
  26. if($c != $first && $c != $quarter) {
  27. $m1 = $c;
  28. (empty($m2) ? $m2 = $c : $m2 = $m2);
  29. }
  30. if($d != $first && $d != $quarter) {
  31. $m1 = $d;
  32. $m2 = $m2;
  33. }
  34. ($m1 > $m2 ? $second = $m2 : $second = $m1);
  35. ($m1 < $m2 ? $third = $m2 : $third = $m1);
  36. ?>


--------------------
priv: jestem uczniem technikum budowlanego (aktualnie 3 rok tej męki a raczej kompletnego braku zainteresowania tematem)
Go to the top of the page
+Quote Post
sztosz
post
Post #11





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No tak, zapomniałem o AND NOT i OR sad.gif


--------------------
Go to the top of the page
+Quote Post
rogrog
post
Post #12





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $a = 2;
  4. $b = 3;
  5. $c = 4;
  6. $d = 5;
  7.  
  8. if ( $a <= $b ){
  9.  
  10. if ( $c <= $a ){
  11.  $pierwsza = $c;
  12.  $druga  = $a;
  13.  $trzecia = $b;
  14. } else {
  15.  if ( $b <= $c ){
  16.  $pierwsza = $a;
  17.  $druga  = $b;
  18.  $trzecia = $c;
  19.  } else {
  20.  $pierwsza = $a;
  21.  $druga  = $c;
  22.  $trzecia = $b;
  23.  }
  24. }
  25.  
  26. } else {
  27.  
  28. if ( $c <= $b ){
  29.  $pierwsza = $c;
  30.  $druga  = $b;
  31.  $trzecia = $a;
  32. } else {
  33.  if ( $c <= $a ){
  34.  $pierwsza = $b;
  35.  $druga  = $c;
  36.  $trzecia = $a;
  37.  } else {
  38.  $pierwsza = $b;
  39.  $druga  = $a;
  40.  $trzecia = $c;
  41.  }
  42. }
  43.  
  44. }
  45.  
  46. if ( $d <= $druga ){
  47. if ( $d <= $pierwsza ){
  48.  //$d <= $pierwsza <= $druga <= $trzecia
  49.  
  50. } else {
  51.  //$pierwsza <= $d <= $druga <= $trzecia
  52. }
  53. } else {
  54. if ( $d <= $trzecia ){
  55.  // $pierwsza <= $druga <= $d <= $trzecia
  56.  
  57. } else {
  58.  // $pierwsza <= $druga <= $trzecia <= $d
  59. }
  60. }
  61.  
  62. ?>


ladniej to wyglada na schemacie winksmiley.jpg
nie chce mi sie robic kodu ustawiajacego na koncu cztery liczby...

wykonuje max 5 porównań

Ten post edytował rogrog 14.02.2005, 19:18:13


--------------------
Go to the top of the page
+Quote Post
invx
post
Post #13





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


a teraz kazal 4 warunkami blink.gif blink.gif blink.gif blink.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
rogrog
post
Post #14





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


to moje rozwiazanie jest optymalne jeśli chodzi o ilość porównań.


--------------------
Go to the top of the page
+Quote Post
antao
post
Post #15





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 8.02.2005

Ostrzeżenie: (0%)
-----


blink.gif
  1. <?php
  2.  
  3.  //pierwsza liczba - L1
  4.  if( ($a <= $b && $a <= $c && $a <= $d && $L1 = &$a && $N1 = 'a') || 
  5.  ($b <= $a && $b <= $c && $b <= $d && $L1 = &$b && $N1 = 'b') ||
  6.  ($c <= $a && $c <= $b && $c <= $d && $L1 = &$c && $N1 = 'c') ||
  7.  ($d <= $a && $d <= $b && $d <= $c && $L1 = &$d && $N1 = 'd')){}
  8.  
  9.  //czwarta liczba - L4
  10.  if( ($a >= $b && $a >= $c && $a >= $d && $L4 = &$a && $N4 = 'a') ||
  11.  ($b >= $a && $b >= $c && $b >= $d && $L4 = &$b && $N4 = 'b') ||
  12.  ($c >= $a && $c >= $b && $c >= $d && $L4 = &$c && $N4 = 'c') ||
  13.  ($d >= $a && $d >= $b && $d >= $c && $L4 = &$d && $N4 = 'd')){}
  14.  
  15.  if( ($a >= $L1 && $a <= $L4 && 'a' != $N1 && 'a' != $N4 && $Lx1 = &$a && $Nx = 'a') ||
  16.  ($b >= $L1 && $b <= $L4 && 'b' != $N1 && 'b' != $N4 && $Lx1 = &$b && $Nx = 'b') ||
  17.  ($c >= $L1 && $c <= $L4 && 'c' != $N1 && 'c' != $N4 && $Lx1 = &$c && $Nx = 'c') ||
  18.  ($d >= $L1 && $d <= $L4 && 'd' != $N1 && 'd' != $N4 && $Lx1 = &$d && $Nx = 'd')){}
  19.  
  20.  //liczby L2, L3
  21.  if( ('a' != $N1 && 'a' != $N4 && $Nx != 'a' && 
  22.  ( ($a >= $Lx1 && $L2 = &$Lx1 && $L3 = &$a) || 
  23.  ($a <= $Lx1 && $L3 = &$Lx1 && $L2 = &$a) )) ||
  24.  ('b' != $N1 && 'b' != $N4 && $Nx != 'b' && 
  25.  ( ($b >= $Lx1 && $L2 = &$Lx1 && $L3 = &$b) || 
  26.  ($b <= $Lx1 && $L3 = &$Lx1 && $L2 = &$b) )) ||  
  27.  ('c' != $N1 && 'c' != $N4 && $Nx != 'c' && 
  28.  ( ($c >= $Lx1 && $L2 = &$Lx1 && $L3 = &$c) || 
  29.  ($c <= $Lx1 && $L3 = &$Lx1 && $L2 = &$c) )) ||
  30.  ('d' != $N1 && 'd' != $N4 && $Nx != 'd' && 
  31.  ( ($d >= $Lx1 && $L2 = &$Lx1 && $L3 = &$d) || 
  32.  ($d <= $Lx1 && $L3 = &$Lx1 && $L2 = &$d) ))){}
  33. ?>

dane wejściowe: a, b, c, d
dane wyjściowe: L1, L2, L3, L4
bug: nie obsługuje zer (questionmark.gif?) //no moze jedno, ale... sadsmiley02.gif


--------------------
priv: jestem uczniem technikum budowlanego (aktualnie 3 rok tej męki a raczej kompletnego braku zainteresowania tematem)
Go to the top of the page
+Quote Post
rogrog
post
Post #16





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


antao: robisz masę porównań. W algorytmach chodzi o to, żeby liczbę porównań ograniczyć do minimum.


--------------------
Go to the top of the page
+Quote Post
antao
post
Post #17





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 8.02.2005

Ostrzeżenie: (0%)
-----


to jest tylko inny sposób rozwiązania (tzn. pętla nie jest zagnieżdżona) winksmiley.jpg


--------------------
priv: jestem uczniem technikum budowlanego (aktualnie 3 rok tej męki a raczej kompletnego braku zainteresowania tematem)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 16:28