++codemasters

Just a Greek Coding Team.

Ἀρχεῖο γιὰ τὴν κατηγορία ‘Source Codes (Our members)

Kino Project (Java Language)

ἀφῆστε ἕνα σχόλιο »

Παρακάτω είναι μια άσκηση που είχα για το εργαστήριο της Java.

Author: Αναστάσιος Ξουζαφείρης (aka r1nu-) || Email: anastasis.ksouzafeiris@gmail.com

Το source code μπορείτε να το βρείτε στο κάτω link:

http://paste.pocoo.org/show/150857/

Γράφτηκε ἀπὸ τὸν/τὴν c0demasters

Νοεμβρίου 15, 2009, 6:51 μ.μ.

Ἀναρτήθηκε ὡς Source Codes (Our members)

Σημειωμένο ὡς , , ,

Factorial Algorithm (C++ Language)

μὲ ἕνα σχόλιο

Εδώ είναι μια δική μου εκδοχή του παραγoντικού και μιας και έχουμε καλοκαίρη ειπά αντι για τα συνηθησμένα να γράψω σε C++. Μια γλώσσα που δεν γνωριζώ πολύ καλα αλλα πιστεύω οτι τουλάχιστον μεχρι ένα επιπεδο δεν διαφέρει απο την C. Τέλος πάντων ας πάμε στον κώδικα δεν ειναι κάτι δύσκολο.

Author: Αναστάσιος Ξουζαφείρης (aka r1nu-) || Email: anastasis.ksouzafeiris@gmail.com

Παρακάτω παραθέτω τί ειναι παραγοντικό και με εναν ψευδοκώδικα απο το βιβλίο ‘Αλγόριθμοι, Δεδομένα και Διαδικασίες του Οικονομικου Πανεπιστημίου Αθηνών.’

“Παραγοντικός του Ν στο Χ

Πριν: Ν: φυσικός αριθμος

Μετά: Χ = Ν!

Ψευδοκώδικας:

Είσοδος:
   Ν : Φυσικός αριθμός

Εξοδος:
   Χ : Φυσικός αριθμός

Κ : Φυσικός αριθμός

Χ <- 1
Κ <- Ν
Οσο Κ > 0
    Χ <- Χ * Κ
    Κ <- Κ - 1
Τέλος (όσο)

Κώδικας σε C++:

#include <iostream.h>
#include <stdint.h> //Thn stdint.h tin xrisimopoioume giati i 'long long' den
// ypostirizete apo tin ISO C++.
using namespace std;
unsigned long long factorial(unsigned long long i)
{
    unsigned long long sum = 1;
    while(i >= 1)
    {
        sum = sum*i;
        i--;
    }
    return sum;
}

int main()
{
    unsigned long long i = 32;
    cout << i << "Factorial = " << factorial(i) << endl;
    return 0;
}

Γράφτηκε ἀπὸ τὸν/τὴν c0demasters

Ἰουνίου 29, 2009, 9:52 π.μ.

Ἀναρτήθηκε ὡς Source Codes (Our members)

Σημειωμένο ὡς , , , ,

Binary Search [Algorithm] (Pseudo-Language)

ἀφῆστε ἕνα σχόλιο »

Εδώ έχουμε έναν αλγόριθμο ο οποίος υλοποίει την διαδικασία Δυαδικής Αναζήτης. Είναι σε ψευδογλώσσα γραμμένο διότι είναι κάτι το οποίο πολλοί ψάχνουν για εργασίες που ζητούνται απο τα πανεπιστήμια κα ι έτσι το εγγραψα σε ψευδογλώσσα για να μπορεί ο καθένας να το μετατρέψει στην γλώσσα που θέλει και πάνω από όλα να καταλαβαίνει και το τί γίνεται.

Author: Αναστάσιος Ξουζαφείρης (aka r1nu-) || Email: anastasis.ksouzafeiris@gmail.com

orizw pin[10], num_search, i, low, high, middle,result        //Akeraies metablites
orizw  j= Boolean , found = Boolean                //Boolean metablites
low = 1        //Arxh pinaka
high = 10    //Telos pinaka
printf (“Dwste 10 arithmous”);
for  i = 1 to 10
    scanf (“%d”, pin[i]);        //Gemizoume ton pinaka
next i
printf (“Twra dwste ton arithmo pou thelete na anazithsete.”);
scanf (“%d”, num_search);
j= TRUE            //Bazoume tin j = TRUE gia na mpei stin epanalipsi
while (j == TRUE)        //H while ulopoiei ton algorithmo tis quick sort
    j = FALSE
    for i = 1 to 9
        if pin[i] < pin [j] then
pin[j] --> pin[i];
            j = TRUE;
        end_if
    next i
wend
found = FALSE;
while (top <= bottom) AND (found == FALSE)
    middle = low + (high – low) / 2        //Edw pairnoume to plithos twn stoixeiwn pou briskontai 
stin perioxi pou psaxnoume.
    if  (pin[middle] == num_search) then    //Elegxoume mipws to num_search einai kathe fora idio me 
// to pin[middle] se kathe epanalipsi  H an petuxoume tin teleutaia timi pou tha parei to pin[middle] peftontas 
// stin periptwsh.
        result --> pin[middle]        //Bazoume tin pin[middle] stin result.
        found = TRUE;             //An brethei tin kanoume TRUE gia na min ksanampei.
    else_if (pin[middle] < num_search)    //An einai mikrotero apo tin pin[middle] tote psaxnei 
// sta mikrotera pin[i] . Auti einai idiotita tis duadikis anazhthshs logo  tou oti o pinakas einai taksinomimenos. 
// Kai giauto einai kai pio grigori.
        low = middle – 1;
    else
        high = middle + 1;    //Alliws psaxnei sto panw orio tou pinaka diladi sta megalutera pin[i].
    end_if
wend
if (found == FALSE) then            //An einai FALSE tote simainei oti den brethike diladi oti 
// ksefuge apo ta oria h while kai den brethike mesa ston pinaka to num_search.
    printf (“Den Brethike!”);
else
    printf (“To stoixeio brethike sti thesi : %d, me timi %d”, middle,result);
end_if

Γράφτηκε ἀπὸ τὸν/τὴν c0demasters

Ἰουνίου 27, 2009, 11:10 μ.μ.

Char Frequency [ASCII] (C Language)

ἀφῆστε ἕνα σχόλιο »

Documentation:

Ο παρακάτω κώδικας είναι μια απλουστευμένη υλοποίηση μιας ενδιαφέρουσας ιδέας. Υπολογίζει τη συχνότητα εμφάνισης χαρακτήρων του λατινικού αλφαβήτου σε ένα δοθέν κείμενο.  Και τυπώνει το αποτέλεσμα σε ένα ascii γράφημα, όπου στον οριζόντιο άξονα είναι τα γράμματα καιστον κατακόρυφο οι συχνότητες εμφάνισης.

Author: Codemasters.Team

Output:

$ gcc charfreq.c -o charfreq
$ cat > foo
Codemasters is a greeeat team
$ ./charfreq foo
 6|     *
 5|     *
 4| *   *
 3| *   *             **
 2| *   *       *    ***
 1| * *** * *   * *  ***
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
$


<pre style=’color:#000000;background:#ffffff;’><span style=’color:#7f0055; ‘>#</span><span style=’color:#7f0055; ‘>include </span><span style=’color:#2a00ff; ‘>&lt;</span><span style=’color:#3f3fbf; ‘>ctype.h</span><span style=’color:#2a00ff; ‘>></span>
<span style=’color:#7f0055; ‘>#</span><span style=’color:#7f0055; ‘>include </span><span style=’color:#2a00ff; ‘>&lt;</span><span style=’color:#3f3fbf; ‘>stdio.h</span><span style=’color:#2a00ff; ‘>></span>
<span style=’color:#7f0055; ‘>#</span><span style=’color:#7f0055; ‘>include </span><span style=’color:#2a00ff; ‘>&lt;</span><span style=’color:#3f3fbf; ‘>stdlib.h</span><span style=’color:#2a00ff; ‘>></span> 

<span style=’color:#7f0055; font-weight:bold; ‘>int</span> <span style=’color:#7f0055; font-weight:bold; ‘>main</span>(<span style=’color:#7f0055; font-weight:bold; ‘>int</span> argc, <span style=’color:#7f0055; font-weight:bold; ‘>char</span> *argv[])
{
<span style=’color:#3f7f59; ‘>/*</span>
<span style=’color:#3f7f59; ‘>     * When we partially initialize an array, C automatically</span>
<span style=’color:#3f7f59; ‘>     * initializes the rest of it to 0, NULL, etc, depending</span>
<span style=’color:#3f7f59; ‘>     * on the element type of the array. That said, the</span>
<span style=’color:#3f7f59; ‘>     * following is adequate:</span>
<span style=’color:#3f7f59; ‘>     */</span>
<span style=’color:#7f0055; font-weight:bold; ‘>unsigned</span> <span style=’color:#7f0055; font-weight:bold; ‘>int</span> freq[26] = { 0 };    <span style=’color:#3f7f59; ‘>/* Frequencies for ‘A’ to ‘Z’. */</span>
<span style=’color:#7f0055; font-weight:bold; ‘>unsigned</span> <span style=’color:#7f0055; font-weight:bold; ‘>int</span> i, j, len, maxf;
<span style=’color:#7f0055; font-weight:bold; ‘>int</span> c;
<span style=’color:#7f0055; font-weight:bold; ‘>FILE</span> *fp;

<span style=’color:#3f7f59; ‘>/* Check argument count. */</span>
<span style=’color:#7f0055; font-weight:bold; ‘>if</span> (argc != 2) {
fprintf(<span style=’color:#7f0055; font-weight:bold; ‘>stderr</span>, <span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>Usage: </span><span style=’color:#2a00ff; ‘>%s</span><span style=’color:#2a00ff; ‘> file</span><span style=’color:#2a00ff; ‘>\n</span><span style=’color:#2a00ff; ‘>”</span>, argv[0]);
exit(EXIT_FAILURE);
}

<span style=’color:#3f7f59; ‘>/* Open file for reading. */</span>
<span style=’color:#7f0055; font-weight:bold; ‘>if</span> ((fp = fopen(argv[1], <span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>r</span><span style=’color:#2a00ff; ‘>”</span>)) == <span style=’color:#7f0055; font-weight:bold; ‘>NULL</span>) {
perror(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>fopen</span><span style=’color:#2a00ff; ‘>”</span>);
exit(EXIT_FAILURE);
}

<span style=’color:#3f7f59; ‘>/* Count frequencies. */</span>
<span style=’color:#7f0055; font-weight:bold; ‘>while</span> ((c = fgetc(fp)) != <span style=’color:#7f0055; font-weight:bold; ‘>EOF</span>) {
c = toupper(c);
<span style=’color:#7f0055; font-weight:bold; ‘>if</span> (c >= <span style=’color:#2a00ff; ‘>’A'</span> &amp;&amp; c &lt;= <span style=’color:#2a00ff; ‘>’Z'</span>)
freq[c - <span style='color:#2a00ff; '>'A'</span>]++;
}

<span style=’color:#3f7f59; ‘>/* Calculate size of array. */</span>
len = <span style=’color:#7f0055; font-weight:bold; ‘>sizeof</span> freq / <span style=’color:#7f0055; font-weight:bold; ‘>sizeof</span> *freq;

<span style=’color:#3f7f59; ‘>/* Get max frequency. */</span>
maxf = freq[0];
<span style=’color:#7f0055; font-weight:bold; ‘>for</span> (i = 1; i &lt; len; i++)
<span style=’color:#7f0055; font-weight:bold; ‘>if</span> (freq[i] > maxf)
maxf = i;

<span style=’color:#3f7f59; ‘>/* Print frequencies */</span>
i = maxf;
<span style=’color:#7f0055; font-weight:bold; ‘>for</span> (i = freq[maxf]; i > 0; i–) {
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>%3u</span><span style=’color:#2a00ff; ‘>| </span><span style=’color:#2a00ff; ‘>”</span>, i);
<span style=’color:#7f0055; font-weight:bold; ‘>for</span> (j = 0; j &lt; len; j++)
<span style=’color:#7f0055; font-weight:bold; ‘>if</span> (freq[j] >= i)
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>*</span><span style=’color:#2a00ff; ‘>”</span>);
<span style=’color:#7f0055; font-weight:bold; ‘>else</span>
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘> </span><span style=’color:#2a00ff; ‘>”</span>);
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>\n</span><span style=’color:#2a00ff; ‘>”</span>);
}

<span style=’color:#3f7f59; ‘>/* Print letters */</span>
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>     </span><span style=’color:#2a00ff; ‘>”</span>);
<span style=’color:#7f0055; font-weight:bold; ‘>for</span> (i = 0; i &lt; len; i++)
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>%c</span><span style=’color:#2a00ff; ‘>”</span>, (<span style=’color:#7f0055; font-weight:bold; ‘>char</span>)(<span style=’color:#2a00ff; ‘>’A'</span> + i));
printf(<span style=’color:#2a00ff; ‘>”</span><span style=’color:#2a00ff; ‘>\n</span><span style=’color:#2a00ff; ‘>”</span>);

<span style=’color:#3f7f59; ‘>/*</span>
<span style=’color:#3f7f59; ‘>     * Close file.</span>
<span style=’color:#3f7f59; ‘>     * Since we opened the file only for read, we assume</span>
<span style=’color:#3f7f59; ‘>     * that it is safe to not check against the return value</span>
<span style=’color:#3f7f59; ‘>     * of fclose().</span>
<span style=’color:#3f7f59; ‘>     */</span>
(<span style=’color:#7f0055; font-weight:bold; ‘>void</span>)fclose(fp);

<span style=’color:#7f0055; font-weight:bold; ‘>return</span> EXIT_SUCCESS;
}
</pre>

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    /*
     * When we partially initialize an array, C automatically
     * initializes the rest of it to 0, NULL, etc, depending
     * on the element type of the array. That said, the
     * following is adequate:
     */
    unsigned int freq[26] = { 0 };    /* Frequencies for 'A' to 'Z'. */
    unsigned int i, j, len, maxf;
    int c;
    FILE *fp;

    /* Check argument count. */
    if (argc != 2) {
        fprintf(stderr, "Usage: %s file\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    /* Open file for reading. */
    if ((fp = fopen(argv[1], "r")) == NULL) {
        perror("fopen");
        exit(EXIT_FAILURE);
    }

    /* Count frequencies. */
    while ((c = fgetc(fp)) != EOF) {
        c = toupper(c);
        if (c >= 'A' && c <= 'Z')
            freq[c - 'A']++;
    }

    /* Calculate size of array. */
    len = sizeof freq / sizeof *freq;

    /* Get max frequency. */
    maxf = freq[0];
    for (i = 1; i < len; i++)
        if (freq[i] > maxf)
            maxf = i;

    /* Print frequencies */
    i = maxf;
    for (i = freq[maxf]; i > 0; i--) {
        printf("%3u| ", i);
        for (j = 0; j < len; j++)
            if (freq[j] >= i)
                printf("*");
            else
                printf(" ");
        printf("\n");
    }

    /* Print letters */
    printf("     ");
    for (i = 0; i < len; i++)
        printf("%c", (char)('A' + i));
    printf("\n");

    /*
     * Close file.
     * Since we opened the file only for read, we assume
     * that it is safe to not check against the return value
     * of fclose().
     */
    (void)fclose(fp);

    return EXIT_SUCCESS;
}

Γράφτηκε ἀπὸ τὸν/τὴν c0demasters

Ἰουνίου 27, 2009, 10:23 μ.μ.

Ἀναρτήθηκε ὡς Source Codes (Our members)

Σημειωμένο ὡς , , , ,

Excercises [Strings 1] (C Language)

ἀφῆστε ἕνα σχόλιο »

Εδώ παραθέτω δυο εργασίες προόδου εργαστηριου που είχα στο μάθημα C Programming Language.

Author: Αναστάσιος Ξουζαφείρης (aka r1nu-) || Email: anastasis.ksouzafeiris@gmail.com

/*****************************************************************
 * O xrhsths eisagei mia frasi to polu 80 char, kai to programma *
 * emfanizei poses lekseis periexontai.                          *
 ****************************************************************/

#include <stdio.h>
#include <string.h>
#include <conio.h>

int main(void)
{
    char phrase[80];
    int inword=0,count=0,i;
    gets(phrase);
    for(i=0;i<=strlen(phrase)-1;i++)
        if(phrase[i]!=' ')
        {
            if(inword==0)
            {
                inword=1;
                count++;
            }
        }
        else
            if(inword==1)
                inword=0;
    printf("Count words=%d",count);
}

2)

/*********************************************************
 * Dhmiourgiste programma to opoio dexetai mia frasi to  *
 * polu 80 char kai emfanizei an einai summetrika.       *
 ********************************************************/ 

#include <stdio.h>
#include <string.h>
#include <conio.h>

int main(void)
{
    char name[80];
    int i,sym=1,x;
    gets(name);
    x=strlen(name);
    for(i=0;i<=x/2-1;i++)
        if(name[i]!=name[x-1-i])
        {
            sym=0;
            break;
        }
    if(sym==0)
        printf("Not symmetric!");
    else
        printf("Symmetric!");
}

Γράφτηκε ἀπὸ τὸν/τὴν c0demasters

Ἰουνίου 21, 2009, 12:53 π.μ.

Ἀναρτήθηκε ὡς Source Codes (Our members)

Σημειωμένο ὡς , , , , ,

Παρακολουθῆστε

Νὰ ἔρχεται κάθε νέο ἄρθρο στὰ εἰσερχόμενά σας.