Lekcja [18] Tablice jednowymiarowe. Problem
Ostatnio zmodyfikowano 2013-06-26 20:29
Proleks Temat założony przez niniejszego użytkownika |
Lekcja [18] Tablice jednowymiarowe. Problem » 2013-06-26 16:51:57 Siemka zrobiłem taki program ale nie wiem dlaczego mi losuje takie dziwny liczby :/ #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand( time( NULL ) ); int losuj[ 1000 ]; int licznik = 0; int wynik = 0; losuj[ 1000 ] =(( rand() % 7 ) + 4 ); do { cout << losuj[ licznik ] << endl; licznik++; } while( licznik < 999 ); licznik = 0; do { wynik = wynik + losuj[ licznik ]; licznik++; } while( licznik < 15 ); cout << "Wynik dodawnia 999 losowych liczb z przedzialu od 4 do 10 to " << wynik << endl; return 0; }
A przy okazji jak sie robi takie ładne okienko gdzie wklejasz kod :P |
|
SeaMonster131 |
» 2013-06-26 17:28:20 A przy okazji jak sie robi takie ładne okienko gdzie wklejasz kod :P |
[cpp] kod [/cpp] Przemyśl ten fragment kodu: losuj[ 1000 ] =(( rand() % 7 ) + 4 ); do { cout << losuj[ licznik ] << endl; licznik++; } while( licznik < 999 );
Musisz losować wartość każdemu elementowi tej tablicy. Oraz w ostatniej pętli zmień warunek: |
|
Proleks Temat założony przez niniejszego użytkownika |
» 2013-06-26 18:27:44 Chodziło o coś takiego ??? kompiluje się ale nw czy jest szybszy na to sposób :p #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand( time( NULL ) ); int losuj[ 1000 ]; int licznik = 0; int wynik = 0; do { losuj[ licznik ] =(( rand() % 7 ) + 4 ); licznik++; } while( licznik < 999 ); licznik = 0; do { cout << losuj[ licznik ] << " , "; licznik++; } while( licznik < 999 ); licznik = 0; do { wynik = wynik + losuj[ licznik ]; licznik++; } while( licznik < 999 ); cout << endl << endl << "Wynik dodawnia 999 losowych liczb z przedzialu od 4 do 10 to " << wynik << endl; return 0; }
|
|
SeaMonster131 |
» 2013-06-26 19:32:26 Możesz wszystko zrobić w jednej pętli ;) do { losuj[ licznik ] =(( rand() % 7 ) + 4 ); cout << losuj[ licznik ] << " , "; wynik = wynik + losuj[ licznik ]; licznik++; } while( licznik < 999 );
|
|
Proleks Temat założony przez niniejszego użytkownika |
» 2013-06-26 19:42:24 No niby tak ale jakim cudem skoro ja w tym moim kodzie musiałem (hmm jak to nazwać ) resetować licznik żeby program dobrze działał także kto mi to wytłumaczy jakim prawem to tutaj działa ???? |
|
jankowalski25 |
» 2013-06-26 20:17:10 int licznik = 0;
do { licznik++; } while( licznik < 999 ); |
|
Proleks Temat założony przez niniejszego użytkownika |
» 2013-06-26 20:22:57 Dobra dziękówa :p a wiesz może teraz mam inny problem a nie chce nowego tematu zakładać otóż to jest kod : #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
int wylosuj_liczby() { int licznik = 0; do { tablica[ licznik ] =(( rand() % 7 ) + 4 ); licznik++; } while( licznik < 999 ); }
int main() { int tablica[ 999 ]; wylosuj_liczby( tablica, 999 ); return 0; }
i chodzi mi o tablice bo wylosuj_liczby nie widzi tej zmiennej , a nie mam pojęcia dlaczego , według mnie powinno działać ale ja to początkujący programista ,więc nw jak to już ma być . |
|
pekfos |
» 2013-06-26 20:27:49 wylosuj_liczby() i main() to dwie różne funkcje. Dlaczego zmienna z jednej miałaby być widoczna w drugiej? Jeśli chcesz przekazać jakąś zmienną jako argument, to funkcja musi pobierać argument tego typu. Poza tym: 1 problem - 1 temat. To, że nie chcesz zakładać nowego tematu, nie ma nic do rzeczy. Porządek musi być. |
|
« 1 » 2 |