Kezdőoldal » Számítástechnika » Programozás » Egy Genetikus Algoritmuson...

Dominik.ballo kérdése:

Egy Genetikus Algoritmuson dolgozok eddig megcsináltam a Kromoszómákat kilistázó alprogramot és a véletlen kromoszómákat generáló alprogramot mikor külön elindítom a programot akkor hibát jelez. Hiba és kód lent. Mit csináljak?

Figyelt kérdés

[link]


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace birdgenag

{


public class chromosome

{

public string bits

{

get;

set;

}

public byte fitness

{

get;

set;

}

}


class Program

{

public const byte n = 10;

public static chromosome[] chromosomes = new chromosome[n];

public bool found;


public static void genrandoms(chromosome[] chromosomes)

{

Random r = new Random();

chromosome curchromosome;

for (int j = 0; j < 10; j++)

{

try

{

curchromosome = chromosomes[j];

curchromosome.bits = "0000000000";

curchromosome.fitness = 0;

string tmpstr = curchromosome.bits;

StringBuilder sb = new StringBuilder(tmpstr);

for (int i = 0; i < sb.Length; i++)

{

sb[i] = Convert.ToChar(r.Next(0, 1));

}

curchromosome.bits = Convert.ToString(sb);

}

catch (Exception)

{


throw;

}


}

}



public static void listchromosomes(chromosome[] chromosomes)

{

for (int i = 0; i < chromosomes.Length; i++)

{

Console.Write("Chromosome: ");

Console.Write(chromosomes[i].bits);

Console.Write(" | Fitness: ");

Console.Write(chromosomes[i].fitness);

}

}

static void Main(string[] args)

{


genrandoms(chromosomes);

listchromosomes(chromosomes);

}

}

}



#Visual C# #algoritmus #object #genetikus #error #instance #system.nullreferenceexception #genetic
2016. jún. 11. 21:42
 1/4 anonim ***** válasza:

Nem korai neked kicsit ez a téma?

A kérdés és a kódból is kiindulva még nagyon kezdő vagy.

A hibaüzenet meg elég egyértelmű.

Az 53. sorban null referenciára hivatkozol.

2016. jún. 11. 21:57
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
VS-br bemásolva látszik: egy üres tömb elemeire akarsz hivatkozni.
2016. jún. 11. 22:04
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

VisualStudio általában sorra pontosan megmondja, hol keletkezett a kivétel. Kivétel szövege egyébként elég beszédes: olyan objektumra hivatkozol, amelyet nem hoztál létre. Ahogy nézem (csak átfutottam), chromosomes tömböt allokálod, de elemekkel már nem töltöd fel - ez pl okozhatja.

Egy tipp: kövesd az adott platform elnevezési konvencióit. CamelCase, osztályneveket, metódusokat, Propertyket nagybetűvel kezdeni. Sokat javítana az olvashatóságon.

2016. jún. 11. 22:06
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszönöm a válaszokat :)
2016. jún. 12. 10:51

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!