Tablice jednowymiarowe - zadanie domowe
Ostatnio zmodyfikowano 2017-07-30 21:59
rav89lodz Temat założony przez niniejszego użytkownika |
Tablice jednowymiarowe - zadanie domowe » 2017-07-30 12:54:07 Dzień dobry, do pracy domowej z rozdziału 18. napisałem taki kod #include <iostream> #include<cstdlib> #include<time.h>
using namespace std;
int main() { int tab[100]; int x=0; int i=0;
srand(time(NULL)); tab[x]=(rand()%7)+4;
do{
x++; i++; cout<<"Nr liczby: "<<i<<". Wylosowana liczba to: "<<tab[x]<<endl; }while (x<100);
int suma=0; x=0; do { suma=suma + tab[x]; x++;
}while (x<100);
cout<<"Suma to: "<<suma; return 0; }
dlaczego losuje mi jakieś liczby z kosmosu (np. 2002989884), a nie z zadanego przedziału? No chyba, że mam jakieś problemy z komputerem i u Was będzie działało dobrze :P |
|
Kinexity |
» 2017-07-30 12:59:47 Nie działa prawidłowo i nie będzie, ponieważ losujesz liczbę tylko dla elementu tablicy o indeksie 0, a potem go nawet nie wyświetlasz. #include <iostream> #include<cstdlib> #include<time.h> using namespace std;
int main() { const int rozmiar = 100; int tab[ rozmiar ], suma = 0; srand( time( NULL ) ); for( int x = 0; x < rozmiar; x++ ) { cout << "Nr liczby: " << x << ". Wylosowana liczba to: " <<( tab[ x ] =( rand() % 7 ) + 4 ) << endl; suma += tab[ x ]; } cout << "Suma to: " << suma << endl; return 0; } |
|
rav89lodz Temat założony przez niniejszego użytkownika |
» 2017-07-30 13:40:53 Poprawiłem i działa, dziękuję :) #include <iostream> #include<cstdlib> #include<time.h>
using namespace std;
int main() { int tab[100]; int x=0; int suma=0; srand(time(NULL));
do{ cout<<(tab[x] = (rand()%7) +4)<<endl; x++;
}while (x<100);
x=0; // tutaj zeruję licznik w tablicy bo był zapisany jako wartość 100 po inkrementacji? do{
suma=suma +tab[x]; x++; }while (x<100); cout<<"Suma to: "<<suma;
return 0; }
i jeszcze taki małe pytanko w opisie, czy jest tak jak napisałem? |
|
Kinexity |
» 2017-07-30 16:00:42 Odp: tak. I tak w ogóle - to: cout <<( tab[ x ] =( rand() % 7 ) + 4 ) << endl; x++; można skrócić do takiej postaci: cout <<( tab[ x++ ] =( rand() % 7 ) + 4 ) << endl; |
|
karambaHZP |
» 2017-07-30 18:33:49 Po co skracać i pisać linijki, w nad którymi trzeba się chwilę wgryźć i zastanowić co robi, zamiast zostawić każdą akcję w osobnej czytelnej linijce? |
|
Kinexity |
» 2017-07-30 18:40:03 Ja tam wolę mieć wszystko w jak najmniejszej liczbie linii - to pozwala mi mieć więcej operacji na mniejszej powierzchni ekranu, który nie ma potwornego rozmiaru (15,6 cala). |
|
karambaHZP |
» 2017-07-30 19:51:18 to pozwala mi mieć więcej operacji na mniejszej powierzchni ekranu, |
Po to są funkcje. Można napisać jedną na góra pięć linijek i też będzie czytelnie ;) Osobiście wolę każdą operację mieć w osobnej linii (wyjątkiem jest postinkrementacja tab[i++], której też staram się tak nie używać). Kwestia gustu :P |
|
rav89lodz Temat założony przez niniejszego użytkownika |
» 2017-07-30 21:59:26 Dziękuję za pomoc i wyjaśnienia :) |
|
« 1 » |