hier noch mal etwas leserlicher:
PHP-Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int p = 0, n = 0 , a = 20, b = 0, c = 1, d = 1, e = 0, f = 0, h = 0, i = 0, j = 0, x = 0, y = 0, z = 0;
int[,] feld = new int[60, 80];
// alles 0 setzen
while ((p <= 59 && n <= 79))
{
feld[p, n] = 0;
p = p + 1;
if (n == 79)
{
n = n + 1;
p = 0; // Fehler Nr. 1 - wurde vergessen ... hat die Folge dass nur die erste Zeile und die letzte Spalte auf Null gesetzt wurde
}
}
// Öl in der ersten Zeile
// Öl in der ersten Zeile und den Spalten 20 bis 59
// ... erste Zeile sind also 40 Felder mit Öl
while (a <= 59)
{
feld[0, a] = 1;
a = a + 1;
}
Console.WriteLine("Mit welcher Prozentzahl soll das Öl durchsickern? ( Zwischen 1 u 100)");
b = Convert.ToInt32(Console.ReadLine());
// Sickern
while ((c <= 59 && d <= 79))
{
if ((d - 1) <= 0)
{
feld[c, d] = 0;
}
else
{
h = c - 1;
i = d - 1;
j = d + 1;
if (feld[h, i] == 1)
{
e = 1;
}
else
{
e = 0;
}
if (feld[h, j] == 1)
{
f = 1;
}
else
{
f = 0;
}
}
if (e == 1)
{
Random zufall = new Random();
int zz = zufall.Next(1, 100);
if (zz <= b)
{
feld[c, d] = 1;
}
}
if (f == 1)
{
Random zufall = new Random();
int zz = zufall.Next(1, 100);
if (zz <= b)
{
feld[c, d] = 1;
}
}
c = c + 1;
d = d + 1;
e = 0;
f = 0;
}
while ((x <= 59))
{
Console. WriteLine("Anzahl der betroffenen Plätze in Zeile " + x);
while (y <= 79)
{
if (feld[x, y] == 1)
{
z = z + 1;
}
y = y + 1;
}
x = x + 1;
Console.WriteLine(z);
z=0; // Fehler Nr. 2 - wurde vergessen, du willst ja die Ölfelder in jeder Zeile haben und nicht die Summe aller bisherigen ;)
}
Console.ReadLine();
}
}
}