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;
}