online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
' ' Welcome to GDB Online. ' GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, ' C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. ' Code, Compile, Run and Debug online from anywhere in world. ' Public Structure tCASE ' variable des cases Public Pietinee As Integer ' compte les piétinages Public TypeCase As Integer ' 0 pas de nid, -1 avec nid, -2 ecrase 1 fois ..., =autres : pietinage freindly coef (pas implemente) End Structure Module VBModule ' Parametres Const cNBR_CASES As Integer = 150000 ' nombre de cases dans le champ Const cNBR_PAS_MAX As Integer = 300000 ' max nombre de pas Const cCASE_PAR_PAS As Integer = 3 ' nombre de cases pietinees par pas Const cNBR_NID As Integer = 10 ' nombre de nids Const cEST_NID As Integer = -1 ' < 0 pour compte nbr de fois pietine Const cPAS_NID As Integer = 0 Sub Main() Dim Champ(cNBR_CASES + cCASE_PAR_PAS - 1) As tCASE ' permet de poser le pied sur la derniere case sans planter :-) Dim iPas, iNid, n, iRnd, iCompteCasePietinees, iCountNidEcrases As Integer Dim sngChrono As Single = Timer iCompteCasePietinees = 0 : iCountNidEcrases = 0 ' ' On Demarre Console.WriteLine (VBCRLF + " --- Placement des Nids au Hasard ---") Console.WriteLine ( " ------------------------------------") ' Place les cNBR_NID nids au hasard For iNid = 1 To cNBR_NID Randomize iRnd = 1 + Int(cNBR_CASES * Rnd) ' index case au hasard While Champ(iRnd).TypeCase = cEST_NID ' pas deux nids sur la même case iRnd = 1 + Int(cNBR_CASES * Rnd) End While Champ(iRnd).TypeCase = cEST_NID ' nid en iRnd Console.WriteLine (" Nid(" + Str(iNid) + ") place en case #" + Str(iRnd) + " EST UN NID") Next iNid Console.WriteLine (" ------------------------------------") ' On commence à marcher Console.WriteLine(VBCRLF + " EN AVANT MARCHE !" + VBCRLF) For iPas = 1 to cNBR_PAS_MAX ' fait cNBR_PAS_MAX pas Randomize iRnd = 1 + Int(cNBR_CASES * Rnd) ' tire une case au hasard For n = 0 To cCASE_PAR_PAS - 1 ' pietine le nombre de cases successives correspondant a un pas If Champ(iRnd + n).TypeCase < 0 Then ' est un Nid Champ(iRnd + n).TypeCase -= 1 If Champ(iRnd + n).TypeCase = -2 Then ' nid ecrase pour la premiere fois iCountNidEcrases += 1 Console.WriteLine(Str(iCountNidEcrases) + " eme Nid ecrase une premiere fois en case #" _ + Str(iRnd + n) + " apres " + Str(iPas) + " pas.") Else ' nid deja ecrase Console.WriteLine(" Au pas " + Str(iPas) + " nid ecrase pour la " _ + Str(-(Champ(iRnd + n).TypeCase + 1)) + " fois en case #" + Str(iRnd + n)) End If Else ' n'est pas un nid Champ(iRnd + n).Pietinee += 1 ' incremente le compte des pietinage de cette case End If If Champ(iRnd + n).Pietinee < 2 Then iCompteCasePietinees += 1 ' increment le compte des cases pietinees si premiere fois Next n If iCountNidEcrases >= cNBR_NID Then Console.WriteLine (VBCRLF + " === Dernier nid ecrase : je termine ===" + VBCRLF) iPas += 1 Exit For eND iF Next iPas Console.WriteLine (" ------------------------------------") Console.WriteLine(VBCRLF + Str(iCompteCasePietinees) + " cases pietinees sur un total de " + Str(cNBR_CASES) + " cases, pour " _ + Str(iPas - 1) + " pas effectues et " + Str(cCASE_PAR_PAS) + " cases pietinees par pas") Console.WriteLine (" ------------------------------------") Console.WriteLine (VBCRLF + " --- Temps d'execution : " + Str(Timer - sngChrono) + " secondes") Console.WriteLine (" ------------------------------------") End Sub End Module

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue