tablice z liczbami - programy w C

s3ba
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 18 sty 2009, o 21:53
Płeć: Mężczyzna
Podziękował: 37 razy
Pomógł: 5 razy

tablice z liczbami - programy w C

Post autor: s3ba »

1.Program wczytuje dziesięcioliczbową tablicę liczb całkowitych, a następnie wypisuje ile liczb w tablicy jest mniejszych od średniej arytmetycznej policzonej z wszystkich elementów tej tablicy.

2.Program wczytuje dziesięcioliczbową tablicę liczb rzeczywistych, a następnie wypisuje wartość iloczynu wszystkich liczb dodatnich tej tablicy.

3.Program inicjuje dwudziestoelementową tablicę liczb rzeczywistych liczbami losowymi, wypisuje jej zawartość, odwraca kolejność elementów tablicy (ostatni będą pierwszymi, pierwsi ostatnimi) i ponownie wypisuje jej zawartość.

4.Program. Wczytaj dziesięcioelementową tablicę liczb rzeczywistych, następnie wypisz programowo tabelkę, gdzie w kolejnych kolumnach będzie liczba z tablicy, jej kwadrat, sześcian, logarytm naturalny, pierwiatek kwadratowy; każda z liczb ma być wypisana na 15 znakach z 3 cyframi przeznaczonymi na część ułamkową; uwzględnij fakt, że niektóre z pól tabelki (niektóre wartości) mogą nie istnieć.

5.Wiadomo, że generator liczb losowych produkuje wartości całkowitoliczbowe z zakresu [0, RAND_MAX]; wypełnij stuelementową tablicę liczb rzeczywistych liczbami z zakresu [0,1) . Wypisz tę tablicę. Oblicz i wypisz średnią arytmetyczną policzoną z elementów na parzystych współrzędnych tej tej tablicy.

Uwaga. RAND_MAX w bibliotekach środowiska Dev-C++ wynosi 32767. Stała ta jest zdefiniowana w pliku nagłówkowym stdlib.h.


Z 3 pierwszymi pkt. potrafie sobie poradzic na swoj sposob, problemem sa pkt.4 i pkt.5. Bede ogromnie wdzieczny za wszelkiego rodzaju pomoc.
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

tablice z liczbami - programy w C

Post autor: matshadow »

5)

Kod: Zaznacz cały

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main()
{
    double tab[100], sred=0;
    int i;
    srand ( time(NULL) );
    for(i=0;i<100;i++)
    {
        tab[i]=(double) rand()/(RAND_MAX+1.0);
        printf("%.3lf
",tab[i]);
        if(i%2<1) sred+=tab[i];
    }
    sred/=50;
    printf("
%.3lf
",sred);
    return(0);
}
s3ba
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 18 sty 2009, o 21:53
Płeć: Mężczyzna
Podziękował: 37 razy
Pomógł: 5 razy

tablice z liczbami - programy w C

Post autor: s3ba »

Z pkt.4 juz sobie poradzilem.

Prosze tylko o objasnienie pkt.5.

Co oznacza ten zapis, czy mozna go zrownowazyc jakims innym poleceniem?
matshadow pisze: srand ( time(NULL) );
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

tablice z liczbami - programy w C

Post autor: matshadow »

srand powoduje inicjacje losowania Więc srand nie możesz usunąć, a time(NULL) zwraca liczbę całkowitą sekund w zegarze systemowym, to będzie prawie zawsze inna wartość.
Źródło:

Kod: Zaznacz cały

http://www.fredosaurus.com/notes-cpp/misc/random.html
Zirhan
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 10 kwie 2010, o 09:33
Płeć: Kobieta
Lokalizacja: Wrocław

tablice z liczbami - programy w C

Post autor: Zirhan »

Logika algorytmu generowania liczb losowych oraz przykładowa implementacja w języku javascript znajdują się na stronie:
Pozdrawiam..
ODPOWIEDZ