Wypełnienie macierzy wartościami float - wypisuje zera

0

Normalnie wtf. Napisałem sb funkcję, która zwraca mi liczbę z przedzialu (losową). Chciałem takimi liczbami wypełnić macierz. Po wyświetleniu macierzy otrzymuję w niej same zera O_O. Co jest?!

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

float losowaLiczba(int a, int b){

    float losowa = ((b-a)*((float)rand()/RAND_MAX))+a;
    if (losowa > 0)
    {
            if (losowa == 1)
                return 1.0;
            else
                return losowa/1.0f;
    }
     else
            return 0.0;
}

void wypelnijMacierz(int a, int b, float **macierz, int w, int h) {

    for (int i = 0; i < w; i++)
        for (int j = 0; j < h; j++)
             macierz[i][j] = losowaLiczba(a, b);
}


int main(int argc, char **argv){

    int x = 3;
    int y = 3;
    float a = 0.1;
    float b = 0.9;

    srand((unsigned) time(NULL));

    //macierz o rozmiarze x na y
    float **macierz = new float*[x];
    for(int i=0; i<x; i++)
        for(int j=0; j<y; j++)
            macierz[i] = new float[y];

    wypelnijMacierz(a, b, macierz, x, y);

    for(int i=0; i<x; i++){
		for(int j=0; j<y; j++)
			cout << "[" << i << "][" << j << "]=" << macierz[i][j];
        cout << "\n";
        }


    return 0;
}

1
void wypelnijMacierz(int a, int b, float **macierz, int w, int h)
float a = 0.1;
float b = 0.9;
wypelnijMacierz(a, b, macierz, x, y);
0

Omfg, facepalm ... A chyba nigdy bym do tego nie doszedł .. eh, za dużo na dziś (Aż wstyd...) Dzięki!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1