myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C# Selbsterstelltes Programmfehler

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 01.07.12, 04:07   #1
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Du arbeitest wohl gerne mit while? Für die Feldinitialisierung ist es einfacher mit for-Schleifen zu arbeiten. Neu bei C#? Dein Versuch sieht mir eher nach VB aus, grade solche Anweisungen wie a=a+1 schreibt man in C# einfacher mit a++.

Code:
for(int x = 0; x < 60; x++)
{
	for(int y = 0; y < 80; y++)
	{
		feld(x, y) = 0;
	}
}
Xalir ist offline   Mit Zitat antworten
Ungelesen 01.07.12, 09:54   #2
grins^^
Time to Troll
 
Benutzerbild von grins^^
 
Registriert seit: Mar 2010
Beiträge: 128
Bedankt: 29
grins^^ ist noch neu hier! | 0 Respekt Punkte
Standard

@ Xalir
ja ich arbeite wirklich eher mit while, weil des für mich logischer und leichter ist.
Und des mit a++ kannte ich bisher noch nicht

@ saibot521_2
danke für die Hilfe, hat mir echt was gebracht.
Zwar hab ich jetzt noch den Fehler dass ab der 2. Zeile immer kein Öl mehr da ist aber das bekomm ich hoffentlic irgendwie hin.

Edit:
geht aber immer noch ned 100%
liegt iwie an der Zufallszahl, weil da kommt nur selten eine neue Zahl und sonst immer die gleiche :/ hier ein Beispiel
Neue Version:
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, k = 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;       
                }
            }
            // Ö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)
            {
                while (d <= 79)
                {
                    if (d == 0)
                    {
                        feld[c, d] = 0;
                    }
                    else
                    {
                        h = c - 1;
                        i = 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;
                        }
                        Console.WriteLine(zz);
                    }
                    if (f == 1)
                    {
                        Random zufall = new Random();
                        int zz = zufall.Next(1, 100);
                        if (zz <= b)
                        {
                            feld[c, d] = 1;

                        }
                        Console.WriteLine(zz);

                    }

                    d = d + 1;
                    e = 0;
                    f = 0;

                }
                d = 0;
                c = c + 1;
            }

            // Werte in ner Zeile
            while ( k <= 79)
            {
                Console.Write(feld [22,k] +"|");
                k = k + 1;
            }

            int x = 0, y = 0, z = 0;
            while ((x <= 59))
            {
                
                Console.Write("Anzahl der betroffenen Plätze in Zeile " + x + " ...................  ");
                while (y <= 79)
                {
                    if (feld[x, y] == 1)
                    {
                        z = z + 1;
                        
                    }
                    y = y + 1;
                }
                Console.WriteLine(z);
                z = 0;
                y = 0;
                x = x + 1;
                    
            }
            
            Console.ReadLine();
        }
    }
}
__________________
NEIN WERDE ICH NICHT
grins^^ ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.


Sitemap

().