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

Macierz z liczbami losowymi

Ostatnio zmodyfikowano 2014-05-26 23:15
Autor Wiadomość
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.

C/C++
#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;
    }
}

P-110755
akwes
» 2014-05-23 22:31:42
C/C++
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.
P-110759
skymaja
Temat założony przez niniejszego użytkownika
» 2014-05-23 23:27:17
ok, dzięki, już działa ;)
P-110760
akwes
» 2014-05-23 23:45:05
Aczkolwiek mam nadzieje, że nie rozwiązałeś tego tak:

C/C++
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?
P-110761
Elaine
» 2014-05-24 01:20:53
Nawet w C++14 tak się nie będzie dało, i całe szczęście.
P-110762
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 :)
P-110763
skymaja
Temat założony przez niniejszego użytkownika
» 2014-05-25 20:13:16
Zrobiłam int n = 1 ;)
P-110856
akwes
» 2014-05-26 08:25:15
@Alueril, z tego co kojarzę to rozważali to, nawet jakiś dokument powstał.

//
N3639
Aczkolwiek nie wiem czy to najnowsza wersja.


@skymaja,

Zrobiłam int n = 1 ;)

To nie jest rozwiązanie, chyba, że ta tablica ma zawsze być rozmiaru int[1][1]?
P-110884
« 1 » 2
  Strona 1 z 2 Następna strona