Mam tutaj taki kawałek kodu
#include <cstdlib>
#include <iostream>
using namespace std;
int generuj(int il_wierz, int stopien)
{
int n, b, ost, procent, i, j, ilosc;
bool start;
n= il_wierz;
procent=(n*(n-1))/ 2;
b=procent*stopien / 100;
int **macierz = new int *[n];
for (int i=0;i<n-1;i++){
macierz[i]= new int [n];
}
for ( i=0;i<n-1;i++){
for ( j=0;j<n-1;j++){
macierz[i,j]=0;
}
}
ilosc=0;
ost=0;
i=0;
while (i<n-1){
j=ost+1;
macierz[ost,j]=1;
ost=j;
i=i++;
}
macierz[ost,0]=1;
for (i=0;i<n-1;i++){
for (j=0;j<n-1;j++){
if (macierz[i,j]==1) {
macierz[j,i]=1;
}
}
}
srand(time(0));
start=true;
while (ilosc<=(b-1)){
if (start==true){
i=0;
start=false;
}
}
j=rand()%n;
while (j=i) {
j=rand()%n;
if (macierz[i,j]=0){
macierz[i,j]=1;
macierz[j,i]=1;
ilosc=ilosc+1;
i=j;
}
}
if (macierz[i,0]=0) {
macierz[i,0]=1;
macierz[0,i]=1;
ilosc=ilosc+1;
start=true;
}
else
start=false;
while (start==false){
j=rand()%n;
while(j==i, j==0){
j=rand()%n;
if (macierz[0,j]==0, macierz[i,j]==0){
macierz[j,0]=1;
macierz[0,j]=1;
ilosc=ilosc+1;
macierz[i,j]=1;
macierz[j,i]=1;
ilosc=ilosc+1;
start=true;
}
}
}
}
int main(){
generuj(100,40);
system("PAUSE");
return EXIT_SUCCESS;
}
Dlaczego gdziekolwiek gdzie chce przypisać do tablicy macierz(x,y)=1
to wyskakuje błąd konwersji invalid conversion from int to int.
Jeśli chce przypisać 0 to jest ok no ale tak być nie może.
Moim zdaniem gdzieś zrobiłem błąd w deklaracji tablicy