27 October 2013

Coding in C using Dev-Cpp IDE

Greetings, fellow coders.

Today, I am going to show you an open-source application which enables easy coding and compiling of C programs. It is named Dev-Cpp or Dev-C++, which can be used as an IDE(Integrated Development Environment) to code and to compile C++ as well as C programs.

You can get a free copy of it here :  http://www.bloodshed.net/dev/devcpp.html

After you downloaded and installed Dev-Cpp on your computer, run the devcpp.exe file.

After the splash screen you will see :


Simply close the Tip of the Day window and we shall continue.

At the top left of Dev-Cpp, you will see the File menu, click on it to start a new Project or Source.

Let's try to create a C source file.
Click on File>New>Source File. A new tab will open up, like this :



Now type in this code to the code editor:
#include <stdio.h>
#include <stdlib.h>

int main(){
 printf("Hello World\n");
 system("Pause"); 
 return 0;  
}
 Done? Now click the Execute menu and choose Compile & Run or simply press F9.
 It will then ask you to save the source file first. Just save it wherever you desire, but make sure it is in the C source files (*.c) format.
 After saving, a window will show up, looking like this :



Congratulations, you have successfully created a C program using Dev-Cpp !

On the next few posts, I will be giving tutorials on creating C programs with this user-friendly IDE.




Happy Coding,
Cyber Frost

18 September 2013

Project Euler - Problem 11

Hello readers,
It is true that I haven't been posting for a long time. I was bothered by my university entrance preparation. Now that I managed to enter a university, which is Binus International University in Jakarta and majoring in Computer Science, I can finally post again.

I was doing a Project Euler problem earlier today.
Link to Problem 11 : http://projecteuler.net/problem=11

To solve this seemingly confusing problem, I use VB.NET.
Here is the solution.

Module Module1

    Sub Main()
        Dim list1 As String = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66 88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69 04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36 20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16 20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54 01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48 "
'create list to be processed later on
        Dim list2(400) As Integer
        Dim x, i As Integer
        i = 1
        For x = 0 To 399
            list2(x) = CInt(Mid(list1, i, 2))
            i = i + 3
        Next
        i = 1
        For x = 0 To 399
            If i = 20 Then
                Console.Write(list2(x))
                Console.WriteLine()
                i = 1
            ElseIf i < 20 Then
                i = i + 1
                Console.Write(list2(x) & " ")
            End If
        Next
        Console.WriteLine()

'processing stages
        Dim temp, largest, pos As Integer
        'horizontal
        For x = 0 To 395
            If x = 16 Then x = 20
            If x = 36 Then x = 40
            If x = 56 Then x = 60
            If x = 76 Then x = 80
            If x = 96 Then x = 100
            If x = 116 Then x = 120
            If x = 136 Then x = 140
            If x = 156 Then x = 160
            If x = 176 Then x = 180
            If x = 196 Then x = 200
            If x = 216 Then x = 220
            If x = 236 Then x = 240
            If x = 256 Then x = 260
            If x = 276 Then x = 280
            If x = 296 Then x = 300
            If x = 316 Then x = 320
            If x = 336 Then x = 340
            If x = 356 Then x = 360
            If x = 376 Then x = 380
            If x = 396 Then x = 400
            temp = list2(x) * list2(x + 1) * list2(x + 2) * list2(x + 3)
            If temp > largest Then
                largest = temp
                pos = x
            End If
        Next
        Console.WriteLine("Numbers(H) : " & list2(pos) & ", " & list2(pos + 1) & ", " & list2(pos + 2) & ", " & list2(pos + 3))
        Console.WriteLine("Product(H) : " & largest)


        'vertical
        temp = 0
        largest = 0
        For x = 0 To 319

            temp = list2(x) * list2(x + 20) * list2(x + 40) * list2(x + 60)
            If temp > largest Then
                largest = temp
                pos = x
            End If
        Next
        Console.WriteLine("Numbers(V) : " & list2(pos) & ", " & list2(pos + 20) & ", " & list2(pos + 40) & ", " & list2(pos + 60))
        Console.WriteLine("Product(V) : " & largest)

        'diagonal1
        temp = 0
        largest = 0
        For x = 0 To 336
            If x = 16 Then x = 20
            If x = 36 Then x = 40
            If x = 56 Then x = 60
            If x = 76 Then x = 80
            If x = 96 Then x = 100
            If x = 116 Then x = 120
            If x = 136 Then x = 140
            If x = 156 Then x = 160
            If x = 176 Then x = 180
            If x = 196 Then x = 200
            If x = 216 Then x = 220
            If x = 236 Then x = 240
            If x = 256 Then x = 260
            If x = 276 Then x = 280
            If x = 296 Then x = 300
            If x = 316 Then x = 320
            temp = list2(x) * list2(x + 11) * list2(x + 22) * list2(x + 33)
            If temp > largest Then
                largest = temp
                pos = x
            End If
        Next

        Console.WriteLine("Numbers(D1) : " & list2(pos) & ", " & list2(pos + 11) & ", " & list2(pos + 22) & ", " & list2(pos + 33))
        Console.WriteLine("Product(D1) : " & largest)



        'diagonal2
        temp = 0
        largest = 0
        For x = 396 To 60 Step -1
            If x = 379 Then x = 376
            If x = 359 Then x = 356
            If x = 339 Then x = 336
            If x = 319 Then x = 316
            If x = 299 Then x = 296
            If x = 279 Then x = 276
            If x = 259 Then x = 256
            If x = 239 Then x = 236
            If x = 219 Then x = 216
            If x = 199 Then x = 196
            If x = 179 Then x = 176
            If x = 159 Then x = 156
            If x = 139 Then x = 136
            If x = 119 Then x = 116
            If x = 99 Then x = 96
            If x = 79 Then x = 76
            If x = 59 Then x = 56
            temp = list2(x) * list2(x - 19) * list2(x - 38) * list2(x - 57)
            If temp > largest Then
                largest = temp
                pos = x
            End If
        Next
        Console.WriteLine("Numbers(D2) : " & list2(pos) & ", " & list2(pos - 19) & ", " & list2(pos - 38) & ", " & list2(pos - 57))
        Console.WriteLine("Product(D2) : " & largest)
 
    End Sub

End Module

That was the code, it consists of four major processes, which is to search for the largest product of four numbers :
1. Horizontally
2. Vertically
3. Diagonally from top left to bottom right
4. Diagonally from bottom left to top right

Running the code above, we will obtain the answer, which is 70600674.

Take your time to understand the code, no need to hurry.
I will be back with more solutions.


Happy Coding,
Cyber Frost 

19 November 2012

Fibonacci Calculator

 Today, I'm going to give you a code to add a requested number of Fibonacci numbers into a ListBox.

Components needed :
  • 1 List Box
  • 1 Text Box
  • 1 Label
  • 1 Button


Let the Fibonacci Sequence be  : 1, 1, 2, 3, 5, 8, 13, 24, ...
Let n be the number of the Fibonacci numbers to be added to the list List1.
Let l be the number of loops to be conducted.


Private Sub Command1_Click()
Dim a, b, c As Double
Dim l, n As Integer
a = 0
b = 1
n = Val(Text1.Text)
For l = 1 To n
a = b
b = c
c = a + b
List1.AddItem (c)
Next
End Sub


The idea here is to swap between a,b, and c to obtain the next number in the Fibonacci sequence.
It's as simple as that.

Here's a preview of what it looks like:




Note:
The Fibonacci sequence is an interesting set of numbers. You might want to do some research on it.



Happy Coding,
Cyber Frost

Search