skymaja Temat założony przez niniejszego użytkownika |
Macierz z liczbami losowymi » 2014-05-23 20:48:30 Hej, mam kolejną prośbę o pomoc ;) Piszę program, który wypełnia macierz liczbami losowymi i problem jest w tym, że w każdym wierszu danej kolumny wypisuje taką samą liczbę. Jeżeli wielkość macierzy nie jest pobierana ze standardowego wejścia tylko wcześniej zadeklaruję że np. int n = 4 to działa tak jak powinno, a jeśli jest tak jak poniżej, to już nie :/ Nie rozumiem dlaczego, przecież to chyba nie powinno mieć znaczenia. #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
double losowa( int a, int b ) { return a +( double ) rand() / RAND_MAX *( b - a ); }
int main() { srand( time( 0 ) ); int a, b; int n; double A[ n ][ n ]; double los; cout << "podaj wymiar macierzy" << endl; cin >> n; cout << "wypelnij liczbami losowymi od:" << endl; cin >> a; cout << "do:" << endl; cin >> b; for( int i = 0; i < n; i++ ) { for( int j = 0; j < n; j++ ) { los = losowa( a, b ); A[ i ][ j ] = los; } } cout << "macierz" << endl; for( int i = 0; i < n; i++ ) { for( int j = 0; j < n; j++ ) { cout << A[ i ][ j ] << "\t"; } cout << endl; } } |
|
akwes |
» 2014-05-23 22:31:42 int n; double A[ n ][ n ];
Ile jest równe 'n'? Mariuszek dostał 5 jabłek. Zjadł 3. Ile mu zostało? Pewnie myślisz, że 2? Guzik prawda... Nie wiadomo ile jabłek Mariuszek miał na początku. Morał - zawsze inicjalizuj zmienne. |
|
|
skymaja Temat założony przez niniejszego użytkownika |
» 2014-05-23 23:27:17 ok, dzięki, już działa ;) |
|
akwes |
» 2014-05-23 23:45:05 Aczkolwiek mam nadzieje, że nie rozwiązałeś tego tak: int n; cout << "podaj wymiar macierzy" << endl; cin >> n; double A[ n ][ n ];
Ewentualnie, że korzystasz z C++14 lub świadomie z jakiegoś rozszerzenia kompilatora? |
|
Elaine |
» 2014-05-24 01:20:53 Nawet w C++14 tak się nie będzie dało, i całe szczęście. |
|
Nitr0Skay |
» 2014-05-24 03:05:09 Alueril Jeżeli można zapytać, to skąd ma Pan Takie informacje ?? I dlaczego Pan uważa, że tak jest lepiej ?
Chciałbym to wiedzieć, gdyż generalnie rzecz ujmując, zaciekawiła mnie ta kwestia :) |
|
skymaja Temat założony przez niniejszego użytkownika |
» 2014-05-25 20:13:16 Zrobiłam int n = 1 ;) |
|
akwes |
» 2014-05-26 08:25:15 @Alueril, z tego co kojarzę to rozważali to, nawet jakiś dokument powstał. // N3639Aczkolwiek nie wiem czy to najnowsza wersja. @skymaja, To nie jest rozwiązanie, chyba, że ta tablica ma zawsze być rozmiaru int[1][1]? |
|
« 1 » 2 |