Pokaż wyniki od 1 do 6 z 6

Temat: [ C ] Minimum i maksimum

  1. #1

    Domyślnie [ C ] Minimum i maksimum

    #include<conio.h>
    #include<cstdio>
    #include<math.h>
    int main()
    {
    int ile; // Z ilu liczb bedzie sie skladal ciag
    int a,b,c; //Liczby ciagu
    int min,max; // Minimum i maksimum
    int MAX;
    printf("Z ilu liczb ma sie skladac Twoj ciag?: \a\n");
    scanf("%d", &ile);
    for (int i = 1; i <= ile; i++)
    {

    printf("Podaj %d liczbe: \n\a", i);
    scanf("%d", &b);
    { if ( b > b )
    scanf("%d", &max);
    else if ( b < b)
    scanf("%d", &min);


    }




    }

    printf("Roznica to %d", max);


    getch();
    return 0;
    }
    Chodzi mi o to, jak zrobic zeby program wypisał mi maksymalna i minmalną liczbę podaną w pętli for?
    the quieter you become, the more you are able to hear

  2. #2

    Domyślnie

    Co ty tak się upierasz przy tych wskaźnikach
    Czytaj: http://pl.wikibooks.org/wiki/C/Wska%C5%BAniki

    Przeczytaj całą książkę na wiki o C a później zadawaj pytania.

    This comment requires further study.

  3. #3

    Domyślnie

    Kod:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {   
        int i, liczba, min, max, ile;
    
    
        printf("Z ilu liczb ma sie skladac Twoj ciag?: \a\n");
        scanf("%d", &ile);
    
    
        for (i = 0; i < ile; i++)
        {   
            printf("Podaj %d liczbe: \n\a", i);
            scanf("%d", &liczba);
    
    
            min = (min > liczba || !i) ? liczba : min;
            max = (max < liczba || !i) ? liczba : max;
        }
    
    
        printf("min: %d, max: %d\n", min, max);
    
    
        getchar();
    }

  4. #4

    Domyślnie

    dzieki
    @Vandervir
    dopiero się uczę i z kursu którego korzystam jest tak opisane
    min = (min > liczba || !i) ? liczba : min;
    hmm, ten zapis rozumiec jak min = min wieksza od liczba, lub nieprawda(?) ze, a dalej jak?
    Ostatnio edytowane przez trojanxem ; 28-12-2011 o 10:58
    the quieter you become, the more you are able to hear

  5. #5

    Domyślnie

    Cytat Napisał trojanxem Zobacz post
    hmm, ten zapis rozumiec jak min = min wieksza od liczba, lub nieprawda(?) ze, a dalej jak?
    w C jest automatyczna promocja int do bool, jak w int masz 0 to wyrażenie zwraca false, jak coś innego czyli np. 1, 2 lub -8 to zwraca true
    || !i służy do sprawdzenia czy to jest pierwsza iteracja, bo jeśli tak to pierwsza liczba jest początkowym max i min

    można by to też tak zapisać:
    Kod:
    if (i == 0)
     {
         min = liczba;
         max = liczba;
    }
    
    min = (min > liczba) ? liczba : min;
    max = (max < liczba) ? liczba : max;
    W tym wypadku pewnie będzie o jeden skok więcej w wynikowym kodzie, ale jest czytelniej
    Programiści C zazwyczaj stosują takie sztuczki , w C często pisze się sterowniki, systemy operacyjne, więc im szybszy kod tym lepszy, zazwyczaj kosztem czytelności.

  6. #6

    Domyślnie

    Dzieki wielkie
    the quieter you become, the more you are able to hear

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •