Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C - Losowanie liczb i maksimum

27 Sty 2014 17:41 1947 12
  • Poziom 7  
    Witam ma taki oto program:



    Kod: C
    Zaloguj się, aby zobaczyć kod


    I czy da się zrobić maksimum z wylosowanych liczb bez użycia tablicy?
  • Pomocny post
    Poziom 17  
    Tak można to zrobić. Wystarczy w pierwszym kroku zapisać wylosowaną do zmiennej jako maksymalna i w każdym kolejnym kroku pętli for porównywać z tą maksymalną. Za pomocą warunku if wprowadzić że jeśli wylosowana liczba jest większa niż ta zapisana w max to wylosowaną liczbę zapisz w max. Można też nie zapisywać tej pierwszej wylosowanej tylko od razu porównywać z zmienną max.
  • Poziom 7  
    Gdy tak robie mam problem z funkcja srand o c tym chodzi?

    [Warning] passing argument 1 of 'srand' makes integer from pointer without a cast [enabled by default]
  • Pomocny post
    Poziom 17  
    Masz gotowy program. Nie wiem czy tak wprowadzałeś ale ten na pewno działa i stworzony właśnie przed sekundą w DEV-C++;
    Kod: cpp
    Zaloguj się, aby zobaczyć kod
  • Poziom 32  
    Da się, jeżeli dodasz jeszcze jedną zmienną na przechowanie maksimum - zaczynasz od 0 i nadpisujesz wylosowaną liczbą jeżeli jest większa od aktualnego maksimum.
  • Poziom 42  
    posanpotasu napisał:
    Gdy tak robie mam problem z funkcja srand o c tym chodzi?

    [Warning] passing argument 1 of 'srand' makes integer from pointer without a cast [enabled by default]
    To tylko ostrzeżenie o niejawnym rzutowaniu.
  • Pomocny post
    Poziom 23  
    Witam!
    Funkcja srand() generuje nowe tzw ziarno, czyli zmienia posiew. Innymi słowy, łopatologiczne, w zależności od wartości parametru który jest liczbą całkowitą czyli typu int, otrzymasz inny ciąg losowania. Ty wstawiłeś tutaj wskaźnik NULL, który formalnie nie jest liczbą całkowitą, stąd to ostrzeżenie. Jeśli chcesz mieć najbardziej "losowe" liczby to jako parametr podaj funkcję time(NULL). Funkcja time podaje bieżący czas systemowy który jest aktualizowany co sekundę.
  • Poziom 7  
    DZiekuje za pomoc racja trzeba bylo stawic srand(time(NULL));
    Mam jeszcze jedno pytanie chciałbym zrobic if ktory wyszukuje najczestcza liczbe z zakresu wieksze od 30 ale mniejsze od 40 bez uzycia tablic. Myslalem ze podobnie to zrobie jak maxa ale nie wychodzi. Moze mi ktos opisac co zrobic?
  • Poziom 17  
    Da się właśnie w bardzo podobny sposób jak podałem to max. Mógłbym to napisać w postaci paru linii kodu ale proponuje abyś wysłał nam to co Ci nie chciało działać to postaramy się pomoc co jest nie tak.
  • Poziom 32  
    Zliczasz ile razy element w i-tej pozycji występuje zaczynając od i-tej pozycji do końca tablicy.
  • Poziom 7  
    Wedlug mnie musze porownac dominanta czy jest wieksze od wylosowanej liczby czyli x. Kolejnie zwiekszam wartosc dominanty o 1 i znow porownuje. Mam tylko problem ze za kazdym razem wyskakuje mi 0

    Kod: C
    Zaloguj się, aby zobaczyć kod
  • Użytkownik usunął konto  
  • Poziom 7  
    Tak bez tablic. Na tablicy napisalem taki program. Lecz na zajeciach gdy skonczylem zadanie mialem czas wolny wiec zaczalem sie zastanawiac jak to napisac bez tablic.
    O dziwo troche mnie to zagielo wiec postanowilem poszukac pomocy. NIby absurdalny program kilka linijek kodu ale sprawia problemy :)