Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablice jednowymiarowe - zadanie.

Ostatnio zmodyfikowano 2011-06-29 19:13
Autor Wiadomość
nUUb
Temat założony przez niniejszego użytkownika
Re:
» 2011-06-29 17:57:32
1. Widzę wciąż tam Panowie dochodzą do krótszej formy, ale widzę, że się da, czyli dobrze.
2. Dawidsoni i ison podali różne odpowiedzi, ale wybiore odpowiedź isona, bo widzę, że dłuższy stażem na tym forum.
3. Kod na sumę zmieniłem zgodnie z zaleceniami i wygląda na to, że działa poprawnie:

C/C++
cout << "Dodane wszystkie wylosowane liczby: " << endl << endl;
licznik = 0;
int suma = 0;
do
{
    suma += liczba[ licznik ];
    licznik++;
} while( licznik < 999 );

cout << suma << endl;
P-34951
ison
» 2011-06-29 18:15:04
@Iname o ile nie używasz znaku końca zbioru to program będzie działał ;) ale rzeczywiście, zapomniałem o ustawieniu flagi lub o użyciu !cin.fail() zamiast cin.good(), zaspany jestem, dobrze, że ktoś czuwa na forum i mnie poprawia :D

@nUUb nie kieruj się stażem na forum, ja podałem tylko drugie możliwe rozwiązanie, użyj tego, które Ci bardziej odpowiada, sam zdecyduj, oba są poprawne ;)
jeśli czujesz się na siłach to możesz się bawić ze wskaźnikami i referencjami żeby sobie przy okazji trochę poćwiczyć
//
http://cpp0x.pl/forum/temat/?id=3036
P-34952
nUUb
Temat założony przez niniejszego użytkownika
» 2011-06-29 18:18:23
Chodziło mi raczej o to:
2. To poprawne: ( rand() % 1000 ) + 1
 
2. Losowanie - gra - chce się tylko upewnić, jak chce zrobić zakres od 1 (włącznie) do 1000 (włącznie) to należy to zapisać tak:
( rand() % 1001 ) + 1
 czy tak
( rand() % 1000 ) + 1
to pierwsze

Tak więc, myślę, że twoja odpowiedź jest poprawna.
P-34953
Dawidsoni
» 2011-06-29 18:19:41
Chcesz wylosować liczbę od 1 do 1000? Skoro ison napisał inaczej niż ja to postanowiłem to sprawdzić tym krótkim programem:
C/C++
#include<iostream>
#include<conio.h.>
#include<ctime>
using namespace std;

int main() {
    srand( time( NULL ) );
    for( int i = 1; i <= 20; i++ ) {
        cout <<( rand() % 3 ) + 1 << endl;
    }
   
   
   
   
   
   
    getch();
    return 0;
}
Wylosowane liczby:
3
2
1
1
3
1
2
...
Jeśli cię dobrze zrozumiałem to miałem rację. Gdyby to zamienić na 1000 to by było od 1 do 1000.

Tak na przyszłość. Jak nie jesteś czegoś pewien to rób takie testy,
P-34954
akwes
» 2011-06-29 18:20:03
rand()%1000 zwraca od 0-999
wiec 1 + rand()%1000 zwraca 1-1000
P-34955
ison
» 2011-06-29 18:20:36
//fail
nie doczytałem :p
(rand()%1000)+1

//myślałem że 2 możliwości to były rand()%1000+1 i rand()%1000 dlatego napisałem, że to pierwsze
chyba powinienem spać dłużej niż 2 godziny dziennie
przepraszam :) (już poprawiłem)
P-34956
nUUb
Temat założony przez niniejszego użytkownika
» 2011-06-29 18:23:18
Okej, zrozumiane. Dzięki za pomoc!
P-34957
pekfos
» 2011-06-29 19:13:32
a temat to kto zamknie?
(problem rozwiązany, zamykam)
P-34962
1 « 2 »
Poprzednia strona Strona 2 z 2