Προς το περιεχόμενο

Γενικό thread αποριών για τη C#.


Alithinos

Προτεινόμενες αναρτήσεις

Καταρχήν ακόμη δεν κατάλαβες αυτό που σου λέω, οτι καταστρέψες τον μαθηματικό τύπο.

 

Το

b1 = 1 - ((epitokio / doseisAnaEtos) + 1);

 

Σημαινει απλά

b1 = - epitokio / doseisAnaEtos

 

Και όχι αυτό που ενδεχομένως σκέφτεσαι.

 

Η βάση είναι το

(Επιτόκιο / ΠληρωμέςΑνάΈτος) + 1

 

Όχι όλο το

1 - ((Επιτόκιο / ΠληρωμέςΑνάΈτος) + 1)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 505
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

Στην εισαγωγή γραμμής τα δεκαδικά τα βάζεις με τελεία ή με κόμμα; Το Convert.ToDecimal(Console.ReadLine()) δουλεύει με ότι να είναι;

Γιατί ένας αριθμός 0,0075 θα βγει 0 αν περιμένει τελεία για δεκαδικό.

 

Nope, στην πράξη θα βγει 75.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στη Vb μπορεί κανείς να γνωρίζει άμεσα ποιος είναι ο χαρακτήρας διαχωρισμού δεκαδικών, και να κάνει το απλό πράγμα, να τον αλλάξει στο αλφαριθμητικό με την τελεία πριν το δώσει για μετατροπή σε αριθμό!

Απλά πρέπει το locale να είναι το  0 για να πάρει το τρέχον σύμβολο του χρήστη! Το LCtype είναι το 22, τα άλλα δύο . Δίνουμε ένα buffer με μηδενικά και μας επιστρέφει αριθμό χαρακτήρων (εδώ είναι η Unicode εκδοχή)

 

Public Declare Function GetLocaleInfoW Lib "kernel32" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As Long, ByVal cchData As Long) As Long
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καταρχήν ακόμη δεν κατάλαβες αυτό που σου λέω, οτι καταστρέψες τον μαθηματικό τύπο.

 

Το

b1 = 1 - ((epitokio / doseisAnaEtos) + 1);

 

Σημαινει απλά

b1 = - epitokio / doseisAnaEtos

 

Και όχι αυτό που ενδεχομένως σκέφτεσαι.

 

Η βάση είναι το

(Επιτόκιο / ΠληρωμέςΑνάΈτος) + 1

 

Όχι όλο το

1 - ((Επιτόκιο / ΠληρωμέςΑνάΈτος) + 1)

 

Τελικά κοίταξα τη λύση. Έβαλε το 1- όχι στη b1, αλλά στην έκφραση του διαιρέτη.

Κάπως έτσι λοιπόν είναι η λύση που δίνει αποτέλεσμα 200.38, όπως θέλει η άσκηση:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Askisi
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal Kefalaio;
            decimal epitokio;
            decimal doseisAnaEtos;
            decimal arithmosEton;
            decimal posoDosis;
            decimal diaireteos, diairetis;
            decimal b1, b2;
            double b, e;

           
            Kefalaio = 10000.00m;
            arithmosEton = 5.0m;
            doseisAnaEtos = 12.0m;
            epitokio = 0.075m;

            diaireteos = epitokio * Kefalaio / doseisAnaEtos;

            b1 =  (epitokio / doseisAnaEtos) + 1 ;
            b2 = -(doseisAnaEtos * arithmosEton);

            b = (double)(b1);
            e = (double)(b2);

            diairetis = 1 - (decimal)Math.Pow(b, e);
            posoDosis = diaireteos / diairetis;


            Console.WriteLine("Το ποσό της κάθε δόσης θα είναι: {0}", posoDosis);


            Console.ReadLine();




        }
    }
}

Ωστόσο έχω ακόμα μια απορία: Γιατί σε παρόμοιες εφαρμογές που βρήκα όπως αυτή εδώ: http://www.asxetos.gr/ypologismos/bank-trapeza/dosi-daneio-calculator.html

αν εισάγω τα ίδια στοιχεία μου βγάζει 167 τη δόση, ενώ ο τύπος της άσκησης ορίζει 200.38 τη κάθε δόση ?

 

Και αυτό είναι ένα παράδειγμα, άμα ψάξεις στο google να βρεις και άλλες υλοποιήσεις, και βάλεις τα ίδια στοιχεία, θα δεις τα ίδια αποτελέσματα, 166 ή 167 ανάλογα το αν κόβει τους αριθμούς μετά την υποδιαστολή ή κάνει στρογγυλοποίηση.

 

Σαφώς και κάτι δε πάει καλά...

 

Είτε ο τύπος της άσκησης  για την επίλυση του προβλήματος είναι λάθος, είτε όλοι όσοι έφτιαξαν παρόμοια προγράμματα και τα έβαλαν στο net έχουν κάνει λάθος.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στη Μ2000 τόσο βγαίνει! 200,38 με ακρίβεια 2 δεκαδικών, και στο πρόχειρο μου δίνει αυτό 200,379485956235

 

 

            Kefalaio = 10000.00
            arithmosEton = 5.0
            doseisAnaEtos = 12.0
            epitokio = 0.075

            diaireteos = epitokio * Kefalaio / doseisAnaEtos

            b =  (epitokio / doseisAnaEtos) + 1
            e = -(doseisAnaEtos * arithmosEton)

 

            diairetis = 1 - b**e
            posoDosis = diaireteos / diairetis

            Clipboard Format$("{0}",posoDosis)

            Print format$("Το ποσό της κάθε δόσης θα είναι: {0:2}", posoDosis)

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

 

Ας σκεφτούμε το πρόβλημα χωρίς κώδικα στη μέση.

 

Έχεις 10000.

 

Δια 60 δόσεις μας κάνει 166.6666.

Το πρώτο χρόνο προσθέτεις επιτόκιο 0.075, άρα οι δόσεις για το πρώτο χρόνο γίνονται 166.7916.

Το δεύτερο χρόνο προσθέτεις 0.075 επιτόκιο ξανά στο τρέχον ποσό, άρα έχεις 166.9167.

Το τρίτο  167.0419, το τέταρτο 167.1672, και το πέμπτο 167.2926.

 

Άμα θες η κάθε δόση να είναι ακριβώς το ίδιο ποσό και τα 5 χρόνια τότε τα προσθέτεις όλα μαζί και διαιρείς με τον αριθμό των χρόνων, και βγάζεις 166.842.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...

Για να μην ανοίγω νέο thread, το γράφω εδώ.

 

Λοιπόν είπα να λύσω μια άσκηση μου ζητά να βρω όλους τους Πρώτους Αριθμούς από το 2 έως το 100 και να τους εμφανίσω στη κονσόλα.

 

Σύμφωνα με τη Wikipedia o τρόπος εύρεσης των Πρώτων αριθμών είναι ο εξής:

 

Θα πρεπει να ελεγξουμε αν ο αριθμος Χ διαιρειται με τους αριθμους απο το 2 εως τον Χ-1, και αν δεν διαιρειται τοτε ειναι πρωτος. Αν διαιρειται, τοτε ειναι συνθετος.

 

 
 

 

Δηλαδή:

 

Θα πρέπει για κάθε αριθμό Χ από το 2 έως το 100 να ελέγξω αν διαιρείται με ένα σύνολο Ν αριθμών από το 2 έως το Χ-1, και αν διαιρείται να τυπώσω τη τιμή του Χ στην οθόνη.

 

Που σημαίνει ότι:

 

* Χρειάζομαι μια μεταβλητή Χ που να ανεβαίνει από το 2 έως το 100.

* Χρειάζομαι μια μεταβλητή Ψ που για κάθε τιμή του Χ θα ανεβαίνει από το 2 έως το Χ-1. 

* Και για κάθε τιμή του Ψ θα πρέπει να ελέγχω αν το Χ διαιρείται με το Ψ.

* Έτσι αν το Χ διαιρείται με το Ψ το Χ είναι Πρώτος.

* Αλλιώς το Ψ δεν είναι Πρώτος.

 

Ωραία ως εδώ ? 

Δεδομένου του ανωτέρω, έφτιαξα αυτή τη κλάση:

class FindPrime
{
   static void Main ()
    {
        for (int x = 2; x <= 100; x++)
        {
            isPrime(x);
        }
        Console.ReadLine();
    }

   static void isPrime(int x)
    {
        for (int y = 2; y < x; y++)
        {
            if (x % y != 0)
            {
                Console.WriteLine(x);
            }
            else
            {
                
            }
        }
    }  
}

1. Στη Main έφτιαξα μια for με μεταβλητή ελέγχου τη x, η οποία for μετράει απ' το 2 έως το 100 και καλεί τη μέθοδο isPrime στην οποία περνάει η τιμή του x. 

 

2. Στη isPrime έφτιαξα:

 

α) Μια λούπα for η οποία σκοπό έχει να αλλάζει τη τιμή του y από 2 έως το Χ-1.

β) If / else όπου ελέγχεται  το x % y != και αν είναι αληθές τυπώνει το x στην οθόνη, αλλιώς δεν κάνει τίποτα.

 

Πάρα ταύτα το πρόγραμμα τυπώνει όλους τους αριθμούς από το 2 έως το 100, εκατό φορές τον καθένα!

:wacko:

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δες εδώ http://georgekarras.blogspot.gr/2015/12/blog-post_17.html

Δες τη Μ2000 σαν ψευδοκώδικα. Έχω τον αλγόριθμο του Όιλερ και το κλασικό, του Ερατοσθένη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Που σημαίνει ότι:

 

* Χρειάζομαι μια μεταβλητή Χ που να ανεβαίνει από το 2 έως το 100.

* Χρειάζομαι μια μεταβλητή Ψ που για κάθε τιμή του Χ θα ανεβαίνει από το 2 έως το Χ-1. 

* Και για κάθε τιμή του Ψ θα πρέπει να ελέγχω αν το Χ διαιρείται με το Ψ.

* Έτσι αν το Χ διαιρείται με το Ψ το Χ είναι Πρώτος.

* Αλλιώς το Ψ δεν είναι Πρώτος.

 

Ωραία ως εδώ ? 

 

Πάρα ταύτα το πρόγραμμα τυπώνει όλους τους αριθμούς από το 2 έως το 100, εκατό φορές τον καθένα!

:wacko:

 

Προφανώς δεν είναι ωραία ως εδώ αλλιώς θα δούλευε σωστά.  :)

 

Το λάθος σου είναι στα bold. Πρώτον, έχεις αντιστρέψει τις λογικές συνθήκες (το "δεν" είναι στη λάθος πρόταση). Αυτό βέβαια είναι εκ παραδρομής εφόσον είναι πολύ προφανές και επίσης στον κώδικα τα έχεις "σωστά".

 

Το πραγματικό λάθος είναι ότι ενώ δηλώνεις πως το Υ θα πάρει διάφορες τιμές με for, δεν φέρεσαι ανάλογα στη συνέχεια. Πρέπει να ολοκληρώσεις όλο το loop του Υ μέχρι να μπορέσεις να αποφανθείς ότι το Χ είναι πρώτος, κάνοντας μισή δουλειά δε μπορείς να βγάλεις τέτοιο συμπέρασμα. Για παράδειγμα, Χ = 55 και Υ = 2 ή Υ = 3 ή Υ = 4. Δεν διαιρείται. Αυτό σημαίνει ότι το 55 είναι πρώτος; Προφανώς όχι.

 

Επίσης ο αλγόριθμος όπως τον έχεις είναι η πλέον μη-βελτιστοποιημένη έκδοσή του (παράδειγμα: πρέπει το Υ να ανεβαίνει μέχρι Χ - 1? Γιατί Χ - 1 συγκεκριμένα, τι το ιδιαίτερο έχει αυτό το νούμερο?), αλλά αυτό δες το σε δεύτερο στάδιο. First make it correct, then make it fast.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 Πρέπει να ολοκληρώσεις όλο το loop του Υ μέχρι να μπορέσεις να αποφανθείς ότι το Χ είναι πρώτος, κάνοντας μισή δουλειά δε μπορείς να βγάλεις τέτοιο συμπέρασμα. Για παράδειγμα, Χ = 55 και Υ = 2 ή Υ = 3 ή Υ = 4. Δεν διαιρείται. Αυτό σημαίνει ότι το 55 είναι πρώτος; Προφανώς όχι.

 

Επίσης ο αλγόριθμος όπως τον έχεις είναι η πλέον μη-βελτιστοποιημένη έκδοσή του (παράδειγμα: πρέπει το Υ να ανεβαίνει μέχρι Χ - 1? Γιατί Χ - 1 συγκεκριμένα, τι το ιδιαίτερο έχει αυτό το νούμερο?), αλλά αυτό δες το σε δεύτερο στάδιο. First make it correct, then make it fast.

 

Το βρήκα!  :-D  :-D  :-D

class FindPrime
{
    static void Main()
    {
        for (int x = 2; x <= 100; x++)
        {
            isPrime(x);
        }
        Console.ReadLine();
    }

    static void isPrime(int x)
    {
        int y;
        bool diaireitai = true;
        for (y = 2; y <= x / y; y++)
        {
            if (x % y == 0)
            {
                diaireitai = false;
            }
            
        }
        if (diaireitai == true)
            Console.WriteLine(x);
    }
}

Με αυτό που μου πες, σχεδόν αμέσως βρήκα πως να το κάνω να μην εμφανίζει το κάθε αριθμό 100 φορές, βγάζοντας τη writeline εκτός λούπας.

Αλλά μου πήρε κάμποσο trial & error μέχρι να καταφέρω να το κάνω να τυπώνει τους αριθμούς που ΔΕΝ είναι πρώτοι!

Ε μόλις είδα ότι τύπωνε όσους δεν είναι πρώτοι, απλά άλλαξα τη τελευταία if της isPrime σε if (diaireitai == true)!

 

 

Υ.Γ. Το τι δοκίμαζα δε μπορείς να φανταστείς. Είχα ταράξει την συνθήκη της if σε & και |, προσπάθησα να βγάλω την if που τσεκάρει το x % y == 0 εκτός λούπας,κοκ...

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτός είναι ο τρόπος. Τώρα καιρός να πας στους καλύτερους αλγόριθμους, όπως αυτό του Ερατοσθένη, ή ακόμα καλύτερα του Όιλερ.

Βασική ιδέα είναι ότι φτιάχνουν ένα πίνακα και αυτός δείχνει τελικά ποιοι είναι πρώτοι και ποιοι όχι. Ο Γερμανός..τον έφαγε τον Έλληνα!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δες εδώ http://georgekarras.blogspot.gr/2015/12/blog-post_17.html

Δες τη Μ2000 σαν ψευδοκώδικα. Έχω τον αλγόριθμο του Όιλερ και το κλασικό, του Ερατοσθένη.

Για να μπορώ να καταλάβω όμως τον αλγόριθμο, πρέπει να μπορώ και να διαβάσω Μ2000.

Και δεν είναι να πεις ότι έχει παρόμοιο συντακτικό και κάποια κοινά keywords έστω με τη C# όπως έχουν πχ η Java ή η C, να μπορώ να βγάλω κάποιο νόημα του τι γίνεται.

 

Για παράδειγμα τι κάνει η λέξη 'Ταύτιση' ? Τι κάνει η 'Τμήμα' ?

Μόνο μερικές απ τις λέξεις που είναι στη Μ2000 μπορώ να τις αντιστοιχίσω με τις ανάλογες αγγλικές που ήδη ξέρω από τη C# για να έχω μια ιδέα του τι προσπαθούν να κάνουν.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το τμήμα είναι η Διαδικασία. Το ταύτιση απλός κοιτάει αν υπάρχει στο stack αριθμός, ας το προσπεράσουμε. Στις διαδικασίες (τμήματα) η Μ2000 δεν έχει signatures, για το τι παραμέτρους παίρνει. Το καθορίζουμε με τις Διάβασε. Αν μια δεν βγει γιατί δεν υπάρχει τιμή, τότε βγαίνει λάθος! Άρα κανονίζει αυτό που χρησιμοποιεί τη διαδικασία να δώσει αυτά που χρειάζεται.

(οι πίνακες είναι Χ+1 για να τους δουλεύω από 1 έως Χ, το στοιχείο 0 το αφήνω)

 

Το κόσκινο το Ερατοσθένη είναι εδώ:

 Πίνακας ι(χ+1)
      κ=2
      κ2=χ δια 2
      Ενώ κ<=κ2 {
            λ=κ+κ
            Ενώ λ<=χ {
                  ι(λ)=1
                  λ+=κ
            }
             κ++
      }

 

Το Δια είναι η ακέραια διαίρεση. Όπου ++ βάλε κ=κ+1 όπου += βάλε λ=λ+κ

Μετά τυπώνεις έτσι

Άρα σε ενδιαφέρει να τυπώσεις, εμφανίσεις τον αριθμό όταν ι(ι)=0

 

  Για ι=2 εως χ {
      αν ι(ι)=0 τότε τύπωσε ι,
      }


Του Όιλερ

 

 Πίνακας ι(χ+1)
      κ=2
      κ2=κ**2
      Ενώ κ2<χ {
            Για λ=κ2 έως χ ανά κ { ι(λ)--}
            Επανέλαβε {
                  κ++
                  κ2=κ**2
            } μέχρι ι(κ)=0 ή κ2>χ
      }


η έλλειψη signatures είναι δάνειο από την Link.png Site: Forth ..όπως και το stack (σωρό τον αναφέρω, αν και λέγεται συνήθως στοίβα, τον αναφέρω ως σωρό τιμών)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αλλά μου πήρε κάμποσο trial & error μέχρι να καταφέρω να το κάνω να τυπώνει τους αριθμούς που ΔΕΝ είναι πρώτοι!

Ε μόλις είδα ότι τύπωνε όσους δεν είναι πρώτοι, απλά άλλαξα τη τελευταία if της isPrime σε if (diaireitai == true)!

 

Υ.Γ. Το τι δοκίμαζα δε μπορείς να φανταστείς. Είχα ταράξει την συνθήκη της if σε & και |, προσπάθησα να βγάλω την if που τσεκάρει το x % y == 0 εκτός λούπας,κοκ...

 

Ποτέ μα ποτέ μη το κάνεις αυτό γιατί ποτέ δε θα μάθεις προγραμματισμό έτσι. Μπορεί να μάθεις αρκετά για να γράφεις κανα προγραμματάκι της πλάκας, αλλά αυτό δεν είναι προγραμματισμός.

 

Η ουσία του προγραμματισμού είναι πως κάθε πράγμα που γράφεις πρέπει να έχει συγκεκριμένο νόημα το οποίο ήδη γνωρίζεις. Αν γράφεις πράγματα στην τύχη σημαίνει ότι δε γνωρίζεις τι νόημα έχουν αυτά που γράφεις. Έτσι δε θα πας πουθενά. Κάθε αλλαγή που πας να κάνεις θα πρέπει να βασίζεται σε συγκεκριμένη υπόθεση (η οποία ως υπόθεση μπορεί να αποδειχθεί λάθος, αλλά πρέπει να είναι συγκεκριμένη!) για να έχει μια λογική συνέχεια αυτό που κάνεις.

 

Αν σε ρωτήσω την ώρα που πληκτρολογείς "γιατί άλλαξες το || σε &&" και η καλύτερη απάντηση που μπορείς να δώσεις είναι "γιατί με || δε δούλευε", σταμάτα να πληκτρολογείς και κάτσε να σκεφτείς ακριβώς ποιός είναι ο λόγος που με || δε δούλευε. Αφού φτάσεις στην πραγματική αιτία συνήθως (σίγουρα σ' αυτό το επίπεδο) μετά α) είναι πολύ πιο εύκολο να καταλάβεις ποιό είναι το σωστό, β) ακόμα κι αν δεν καταλάβεις, έχεις βελτιώσει την ικανότητά σου να αντιλαμβάνεσαι πώς λειτουργεί ένα πρόγραμμα διαβάζοντάς το. Χωρίς αυτή την ικανότητα δεν είσαι χομπίστας προγραμματιστής αλλά ένας άσχετος τύπος που ξέρει λίγο από τη σύνταξη και τις λειτουργείες της C#.

 

----

 

Απο κει και πέρα. Υπάρχουν πολλοί δρόμοι για να βελτιώσεις αυτό που έχεις στα χέρια σου, αλλά πρώτα απ' όλα προτείνω το εξής: κάνε την IsPrime να ταιριάζει λίγο παραπάνω με το όνομά της και να επιστρέφει bool. Αυτή τη στιγμή η IsPrime που έχεις είναι άχρηστη για οποιαδήποτε άλλη χρήση πέρα του να τυπώσεις τον υποψήφιο prime στην κονσόλα (π.χ., δε μπορείς να τη χρησιμοποιήσεις για να μαζέψεις τους primes σε ένα πίνακα).

 

Με το που θα κάνεις αυτή την αλλαγή μαθαίνεις και τα εισαγωγικά του LINQ και γίνεσαι άρχοντας.

 

Δες εδώ πώς θα γινόταν στην πράξη κάτι τέτοιο και σκέψου τις προεκτάσεις:

  • Το Enumerable.Range(...) επιστρέφει κάποιου είδους τιμή. Δε μας ενδιαφέρει τι αυτή τη στιγμή. Αυτό που μας ενδιαφέρει είναι ότι ως τιμή θα μπορούσες να τη δεχτείς σαν όρισμα συνάρτησης, ξεχωρίζοντας τελείως το "ποιοί είναι οι υποψήφιοι" με το τι σκοπεύεις να κάνεις μαζί τους. Η συνάρτηση που θα έπαιρνε αυτό το όρισμα θα λειτουργούσε χωρίς να την ενδιαφέρει πώς προκύπτουν οι υποψήφιοι.
  • Η IsEven τώρα μπορεί να χρησιμοποιηθεί όπου σου αρέσει με όποιο τρόπο σου αρέσει.
  • Αν π.χ. θες να τυπώσεις τους περιττούς ακεραίους αντί για τους άρτιους, βάζεις ένα ! μέσα στη Where και καθάρισες, end of story. Αυτό θα μπορούσες να το κάνεις όσο περίπλοκη κι αν ήταν η IsEven γιατί πλέον δε σε ενδιαφέρει.
  • Η Main είναι πλέον τρεις γραμμές που διαβάζονται νεράκι και σου δίνουν αμέσως να καταλάβεις τι θα κάνει το πρόγραμμα χωρίς να ψάχνεις αλλού.
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

 

 

Αν σε ρωτήσω την ώρα που πληκτρολογείς "γιατί άλλαξες το || σε &&" και η καλύτερη απάντηση που μπορείς να δώσεις είναι "γιατί με || δε δούλευε"

 

Έχουνε φύγει τέτοια σε εργασίες ουυυυυυ

 

 

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...