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

Εργασία στην C


rafail1994

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

Δημοσ. (επεξεργασμένο)

Παιδιά καλησπέρα έχω να παραδώσω μια εργασία για την σχολή μου αλλά εχω φαει σκάλωμα από ένα σημείο και μετά .Η εκφώνηση είναι αυτή

 

 

 

 

 

 

Εγώ έχω φτάσει μέχρι αυτό το σημείο .Όποιος μπορεί ας ρίξει μια βοήθεια ευχαριστώ

 

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

main()
{
      float r1,r2,r3,r4,volt;      //Ôéìåò áðï 4 áíôéóôáóåéò êáé ôï ñåõìá ðïõ äéáñååé ôï êõêëïìá
      float nR,nI;                 //Ôéìåò áðï ôïõò n áíôéóôáôåò ðïõ äéíåé ï ÷ñçóôçò
      int n,i;                     //Ôï ìåãåèïò ôùí áíôéóôáóåùí ðïõ äçëùíåé ï ÷ñçóôçò
      float I;
      
      
      
      printf("Dose tis times r1,r2,r3,r4\n");
      scanf("%f %f %f %f",&r1,&r2,&r3,&r4);
      if(r1<r3 && r2<r4)
      {
               printf("Dose ta volt tou kuklomatos\n");
               scanf("%f",&volt);
               printf("Dose tis dia8esimes antistaseis\n");
               scanf("%d",&n);
               printf("Dose tin megisti entasi tis antistasis kai tou reumatos apo %d antistaseis \n",n);
               for(i=0; i<n; i++)
               {
                        printf("Dose tin megisti entasi tis antistasis\n");
                        scanf("%f",&nR);
                        printf("Dose tin megisti entasi tou reumatos\n");
                        scanf("%f",&nI);
                        I = volt / nR;
                        if(I<nI)
                        {
                            
                            
                        }
               
               
               }
      }
      else
               printf("I times twn antistasewn einai ektos oriwn\n");
      
      system("pause");  
}

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

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

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

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

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

Προφανώς και δεν έχεις κάνει καν το κόπο να το κάνεις compile. Anyway, για αρχή σου λείπει ένα int πριν απο το main() και ένα scanf μετά το "Dose tin megisti entasi tis antistasis kai tou reumatos apo %d antistaseis \n",n);

 

το οποίο θα ήταν πανεύκολο να το βρείς αν δοκίμαζες μία φορά να το τρέξεις, και ένα return 0; στο τέλος.

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

Προφανώς έχω κάνει compile και φυσικά όχι μόνο ένα ,το πρόβλημα μου δεν βρίσκετε στον κώδικα που παραθέτω (εκτός και εαν έχει προβλήματα οπως το int και το return που είπες) αλλά σε αυτά που δεν μπορώ να υλοποιήσω ρίξε μια ματιά στην εκφώνηση !!

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

rafa επειδή φαίνεσαι ξηγημένος κάθησα και σου έλυσα την άσκηση. Έκανα τις λιγότερες δυνατές αλλαγές στον κώδικά σου έτσι ώστε να τρέχει η άσκηση, γιατί δεν ξέρω τι έχετε διδαχτεί! Γενικά είναι πολύ κακό να τα βάζουμε όλα στη main!!! Επίσης δεν ξέρω τίποτα από ηλεκτρονικά, οπότε τσέκαρε αν γίνεται σωστά ο υπολογισμός των συνολικών αντιστάσεων των κυκλωμάτων.

Ευχαριστώ.

 

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

typedef enum {
    FALSE, TRUE
} boolean;

int main()
{
	float r1,r2,r3,r4,volt;
    float nR,nI, impCircuitA = 0, impCircuitB = 0;
    int n,i, circuitA = 0, circuitB = 0;
    float I;
    boolean gotoCircuitA = TRUE;
        
    printf("Dose tis times r1,r2,r3,r4:");
    scanf("%f %f %f %f",&r1,&r2,&r3,&r4);

    if(r1<r2 && r3<r4 && r1<r3 && r2<r4)
    {
	printf("Dose ta volt tou kuklomatos:");
        scanf("%f", &volt);
        printf("Dose to plithos twn diathesimwn antistasewn:");
        scanf("%d", &n);

        for(i = 0; i < n; i++)
        {
       	    printf("Dose tin megisti entasi tis antistasis %d:", i+1);
            scanf("%f",&nR);
            printf("Dose tin megisti entasi tou reumatos tis antistasis %d:", i+1);
            scanf("%f",&nI);

            I = volt / nR;
            
	    if(I < nI)
            {
		if (nR >= r3 && nR <= r2)
		{
		     if(gotoCircuitA)
		     {
			circuitA++;
			impCircuitA += nR;
			gotoCircuitA = FALSE;
		     }
		     else
		     {
			circuitB++;
			impCircuitB += 1 / nR;
			gotoCircuitA = TRUE;
		     } 
	    }

	    else if(nR >= r1 && nR <= r2)
	    {
	        circuitA++;
                impCircuitA += nR;
	    }

	    else if(nR >= r3 && nR <= r4)
	    {
                circuitB++;
	        impCircuitB += 1 / nR;
	    }                     
	}
	else
	    printf("Lathos stoixeia antistasis\n");                     
     }
		
	printf("Arithmos antistasewn pou tha xrisimopiithoun sto kyklwma A: %d\n", circuitA);
	printf("Synoliki antistasi kyklwmatos A: %f\n", impCircuitA);
	printf("Arithmos antistasewn pou tha xrisimopiithoun sto kyklwma B: %d\n", circuitB);
	if (circuitB)
		printf("Synoliki antistasi kyklwmatos B: %f\n", 1/impCircuitB);
	else 
		printf("Synoliki antistasi kyklwmatos B: 0\n");
	
	}
	else
	        printf("I times twn antistasewn einai ektos oriwn\n");
      
	system("pause");
	return 0;  
}

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

@jsiskos

 

Σε ευχαριστώ παρά πολύ για την βοήθεια σου , λοιπόν ... στην c έχω διδαχτεί τα βασικά αφού δεν έχει πάνω από μια εβδομάδα που ξεκίνησα .Απο την ώρα που είχα ξεκινήσει το θέμα συνέχισα να το παλεύω και πραγματικά όταν ειδα τον κώδικα σου μια στιγμή σκάλωσα γιατί σε αρκετά σημεία στην υλοποίηση ήταν ιδία :P

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

@jsiskos

 

Σε ευχαριστώ παρά πολύ για την βοήθεια σου , λοιπόν ... στην c έχω διδαχτεί τα βασικά αφού δεν έχει πάνω από μια εβδομάδα που ξεκίνησα .Απο την ώρα που είχα ξεκινήσει το θέμα συνέχισα να το παλεύω και πραγματικά όταν ειδα τον κώδικα σου μια στιγμή σκάλωσα γιατί σε αρκετά σημεία στην υλοποίηση ήταν ιδία :P

 

Μιας και δόθηκε η λύση κι επειδή σε βλέπω κι εγώ "ξηγημένο" όπως είπε και ο jsiskos, επέκτεινα τον κώδικα του ώστε να κάνει περισσότερο error-checking (βασικά να απαιτεί από τον χρήστη να δίνει έγκυρες τιμές, ρωτώντας τον συνέχεια μέχρι να τις δώσει, καθώς και κάτι άλλα, όπως π.χ. να μη βαράει division by 0 exceptions στο: I = volt / nR; αν ο χρήστης έχει δώσει για παράδειγμα μηδενική τιμή για το nR).

 

Επίσης σου δείχνει έναν τρόπο να διαβάζεις από τη γραμμή εντολών χωρίς χρήση της scanf(), η οποία υποφέρει από το... infamous line-buffering (αντί για scanf() κάνω: fgets(input, ...); sscanf(input, ... ); )

 

Οι παραπάνω προσθήκες πλήττουν το readability του κώδικα όπως είναι φυσικό, μιας και "κρύβουν" την κύρια λογική του (αν είχατε μάθει συναρτήσεις θα μπορούσε να γίνει πολύ πιο ευανάγνωστο). Την ουσία του κώδικα όμως την έχεις δει ήδη στην υλοποίηση του jsiskos, οπότε σκέφτηκα πως θα ήταν χρήσιμο (ή σε άλλα παιδιά) να πάρεις γεύση και από το visual overhead (και όχι μόνο) που υπεισέρχεται όταν πρέπει να διαχειριστούμε πιθανά errors, bad input, κλπ.

 

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

 

Κώδικας

 

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

#define MAX_INPUT	(512+1)

/* -------------------------------- */
int main( void )
{
	char input[MAX_INPUT] = {'\0'};	/* gia diabasma apo thn grammh entolwn */

	float r1, r2;		/* oria timwn (se Ohms) gia thn 1h omada antistasewn */
	float r3, r4;		/* oria timwn (se Ohms) gia thn 2h omada antistasewn */
	int n, i;		/* n: plithos diathesimwn antistasewn, i: metrhths plithoys */
	int grp1count = 0, grp2count = 0;	/* plithos antistasewn sthn 1h kai thn 2h omada */
	float grp1ohms = 0;	/* synolikh antistash 1hs omadas antistaswen (en seira) */
	float grp2ohms = 0;	/* synolikh antistash 2hs omadas antistaswen (en parallhlia) */
	float volt = 0;		/* tash kyklwmatos */
	int targetGrp = 0;	/* Antistaseis poy empiptoyn sthn tomh twn oriwn
				 * phgainoyn sthn 1h omada otan ayth h boolean
				 * metablhth isoytai me 0, alliws phgainoyn sthn
				 * 2h omada.
				 */

	/* diabasma & elegxos oriwn gia tis 2 omades antistasewn */
	for (;
	{
		/* diabasma oriwn gia thn 1h omada */
		printf( "Oria timwn se Ohms gia thn 1h omada (r1 r2): "); fflush( stdout );
		fgets( input, MAX_INPUT, stdin );
		sscanf( input, "%f %f", &r1, &r2 );

		/* diabasma oriwn gia thn 2h omada */
		printf( "Oria timwn se Ohms gia thn 2h omada (r3 r4): "); fflush( stdout );
		fgets( input, MAX_INPUT, stdin );
		sscanf( input, "%f %f", &r3,&r4 );

		/* elegxos gia akyres times */
		if ( r1 <= 0 || r2 <= 0 || r3 <= 0 || r4 <= 0
		|| r1 >= r2 || r3 >= r4 || r1 >= r3 || r2 >= r4
		){
			puts( "*** dwsate lanthasmenes times" );
			puts( "*** prepei 0 < r1 < r2 < r4 kai 0 < r1 < r3 < r4" );
			puts( "Parakalw janaprospathiste...\n" );
			continue;
		}
		break;
	}
	putchar( '\n' );

	/* diabasma tashs toy kylwmatos */
	printf("Tash tou kyklwmatos (volt): "); fflush( stdout );
	fgets( input, MAX_INPUT, stdin );
	sscanf( input, "%f", &volt );

	/* diabasma & elegxos plithoys diathesimwn antistasewn */
	for ( ;; )
	{
		/* diabasma */
		printf("Diathesimes antistaseis: "); fflush( stdout );
		fgets( input, MAX_INPUT, stdin );
		sscanf( input, "%d", &n );

		/* elegxos */
		if ( n < 1 ) {
			puts( "*** dwsate mhdenikh h arnhtikh timh, prospathiste jana..." );
			continue;
		}
		break;
	}
	putchar( '\n' );

	/* gia kathe diathesimh antistash... */
	for (i=0; i < n; i++)
	{
		float rOhms, rAmpers;	/* megisth timh & megisth entash reymatos */
		float ampers = 0;	/* gia ypologismo entashs reymatos, basei ths hdh dosmenhs tashs */

		/* diabasma & elegxos megisths timhs ths antistashs */
		for ( ;; )
		{
			/* diabasma */
			printf( "ANTISTASH #%d\n", i+1 );
			printf( "megisth timh (Ohms): " ); fflush( stdout );
			fgets( input, MAX_INPUT, stdin );
			sscanf( input, "%f", &rOhms );

			/* elegxos */
			if ( rOhms <= 0 ) {
				puts( "*** dwsate mhdenikh h arnhtikh timh, prospathiste jana..." );
				continue;
			}
			break;
		}

		/* diabasma megisths entashs reymatos gia thn anstistash */
		printf( "megisth entash (ampers): " ); fflush( stdout );
		fgets( input, MAX_INPUT, stdin );
		sscanf( input, "%f", &rAmpers );

		putchar( '\n' );

		/* elegxos gia akatallhlh antistash */
		ampers = volt / rOhms;
		if ( ampers > rAmpers ) {
			puts( "*** AKATALLHLH ANTISTASH, THA EJAIRETHEI!" );
			puts( "*** h antistash ayth den antexei thn tash" );
			printf( "*** %gV poy exete dhlwsei gia to kyklwma\n", volt );
			continue;
		}
		putchar( '\n' );

		/* an empiptei h antistash sthn tomh twn oriwn... */
		if ( rOhms <= r2 && rOhms >= r3 )
		{
			if ( 0 == targetGrp ) {
				grp1count++;
				grp1ohms += rOhms;
			}
			else {
				grp2count++;
				grp2ohms += 1 / rOhms;	/* rOhms is guranteed non-0 here */
			}
			targetGrp = !targetGrp;		/* antistrofh ths boolean timhs */
		}
		/* alliws an empiptei sta oria ths 1h omadas... */
		else if ( rOhms >= r1 && rOhms <= r2 ) {
			grp1count++;
			grp1ohms += rOhms;
		}
		/* alliws an empiptei sta oria ths 2h omadas... */
		else if ( rOhms >= r3 && rOhms <= r4 ) {
			grp2count++;
			grp2ohms += 1 / rOhms;		/* rOhms is guranteed non-0 here */
		}
		else {
			puts( "*** ANTISTASH EKTOS ORIWN, THA EJAIRETHEI!" );
			putchar( '\n' );
		}
	}

	/* typwma apotelesmatwn */

	puts( "1h OMADA ANTISTASEWN" );
	printf( "plithos: %d\n", grp1count );
	printf( "synolikh antistash (en seira): %g Ohms\n", grp1ohms );
	putchar( '\n' );

	puts( "2h OMADA ANTISTASEWN" );
	printf( "plithos: %d\n", grp2count );
	printf( "synolikh antistash (en parallhlia): %g Ohms\n", grp2ohms );
	putchar( '\n' );

	system( "pause" );	/* Windows only */
	exit( EXIT_SUCCESS );
}

 

 

ΥΓ. Οι συνθήκες τύπου if ( rOhms <= 0 ) μέσα στον κώδικα (που κάνουν δλδ απευθείας σύγκριση float με το 0) δεν είναι αξιόπιστες, αλλά βαρέθηκα να τις υλοποιήσω σωστά. Περισσότερα μπορείς να διαβάσεις εδώ (πιο συγκεκριμένα, στο 2ο μισό της ενότητας Σφάλματα)

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

Thanks migf1 με τον κώδικα σου παρολου που αρκετά από αυτά που έκανες δεν τα έχω διδαχτεί (και δεν μπορώ να τα υλοποιήσω γιατί ο καθηγητής ζηταει από κάθε φοιτητή να του εξηγήσει τι έκανε) μου λύθηκαν κάτι τελευταία προβλήματα που είχα και το έστειλα ,ελπίζω να τον πάρω τον βαθμό μου :P

 

Ευχαριστώ και πάλι για την βοήθεια

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

@migf1 έχω την εντύπωση ότι έχεις ξεχάσει όμως να κάνεις έλεγχο για non-integer value.

Οκ παίρνει input σαν string αλλά αν το sscanf(input, "%d" &n); διαβάσει "mitsos" θα μετατρέψει αυτό σε integer/float κτλ :P.

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

@migf1 έχω την εντύπωση ότι έχεις ξεχάσει όμως να κάνεις έλεγχο για non-integer value.

Οκ παίρνει input σαν string αλλά αν το sscanf(input, "%d" &n); διαβάσει "mitsos" θα μετατρέψει αυτό σε integer/float κτλ :P.

 

Καλησπέρα,

 

ναι, δεν ελέγχω την τιμή επιστροφής των sscanf(). Κι άλλους ελέγχους δεν κάνω, π.χ. στον υπολογισμό για το αν τα ambers είναι μικρότερα από τα rAmbers, δεν ελέγχω την περίπτωση να έχει δοθεί αρνητική τιμή τάσης, παρόλο που την επιτρέπω στο input. Πολύ σημαντική έλλειψη ελέγχου είναι κι αυτή που επισήμανα στο προηγούμενο ποστ για την σύγκριση float.

 

Γενικώς ο σκοπός μου δεν ήταν να γράψω production κώδικα. Ήθελα απλώς να πάρει ο φίλος μας μια 1η γεύση από τη διαφορά μεταξύ θεωρητικής λύσης και πρακτικής υλοποίησης στον προγραμματισμό.

 

@rafail1994:

 

Χαλάστηκα πολύ που παρέδωσες τον δικό μου κώδικα σαν να ήταν δικός σου και το χιλιο-μετάνιωσα που τον έγραψα και τον δημοσίευσα.

 

Ο στόχος μου δεν ήταν να γράψω εγώ την εργασία σου αντί για σένα, αλλά να σε βοηθήσω να δεις 2-3 πρακτικά πράγματα, ώστε να είσαι υποψιασμένος από τώρα που είσαι στην αρχή.

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

Λάθος κατάλαβες ο κώδικας που έστειλα εγώ δεν έχει καμία σχέση με τον δικό σου (απλώς είπα ότι με βοήθησε να καταλάβω καλύτερα την άσκηση και να διορθώσω μερικά πραγματάκια που είχα κάνει λάθος)

 

Edit:Αλώστε στο είχα πει και στο pm ότι δεν ζηταω έτοιμη άσκηση γιατί θέλω να μάθω δεν υπήρχε περίπτωση να στείλω έτοιμο κώδικα θα προτιμούσα να τον στείλω εντελώς λάθος !

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

@migf1 δεν σου εγγυαται κανεις απο τους τοσους επισκέπτες που περνανε απο εδω ....

 

οτι δεν εχουν χρησιμοποιησει αυτουσια κωδικες που έχουν παρει απο εδω... οποτε και αυτο μεσα στο προγραμμα ειναι

 

σιγουρα καποιοι το εχουν κανει.

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

Λάθος κατάλαβες ο κώδικας που έστειλα εγώ δεν έχει καμία σχέση με τον δικό σου (απλώς είπα ότι με βοήθησε να καταλάβω καλύτερα την άσκηση και να διορθώσω μερικά πραγματάκια που είχα κάνει λάθος)

 

Σε αυτή την περίπτωση, απολογούμαι που βιάστηκα να βγάλω συμπεράσματα (αν και όπως καταλαβαίνεις δεν μπορούσα -και δεν μπορώ- να είμαι σίγουρος ;) )

 

Πάντως, αν την έχεις παραδώσει όπως δημοσιεύθηκε τότε ρισκάρεις να είναι ίδια η πολύ κοντινή με εργασίες συμφοιτητών σου που ενδεχομένως διαβάζουν κι αυτοί το φόρουμ :P

 

Όπως και να 'χει, επειδή είμαι οπαδός της καλοπροαίρετης βοήθειας (κυρίως για μελλοντικό όφελος του κλάδου από τα νέα παιδιά) πες μου ποια σημεία δεν έχετε διδαχθεί ή/και δεν καταλαβαίνεις ώστε να σου τα εξηγήσω ή να σου δώσω κατευθύνσεις για να τα ψάξεις και μόνος σου.

 

Πιστεύω πως και μόνο που θα ασχοληθείς (έστω και υπό τον φόβο να μην σου κόψουν βαθμούς στην προφορική εξέταση της εργασίας) θα αποκομίσεις ουσιαστικό όφελος για τις επόμενες εργασίες :)

 

EDIT:

 

@StarLight:

 

Ναι, το έχω υπόψη μου. Για αυτό σπανιότατα δίνω πλήρως ανεπτυγμένους και πλήρως ελεγμένους κώδικες όταν ζητείται βοήθεια για εργασίες. Ακόμα και τότε, συνήθως αφήνω πράγματα ανέλεγκτα ή μισο-τελειωμένα εν γνώση μου (πέρα δλδ από εκείνα που τα αφήνω χωρίς να είναι εν γνώση μου, bugs δηλαδή).

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

Γενικά δεν κατάλαβα πως λειτουργούν ή τι "διάφορα" έχουν από την printf,scanf που χρησιμοποιώ τα (sscanf,puts,putchar) το #define MAX_INPUT ,στα αλλά δεν είχα πρόβλημα κατάλαβα τι γίνεται .

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

Γενικά δεν κατάλαβα πως λειτουργούν ή τι "διάφορα" έχουν από την printf,scanf που χρησιμοποιώ τα (sscanf,puts,putchar) το #define MAX_INPUT ,στα αλλά δεν είχα πρόβλημα κατάλαβα τι γίνεται .

 

Λοιπόν ένα-ένα με τη σειρά:

  • Η puts() τυπώνει στην οθόνη (stdout) το string (το κείμενο δλδ) που της περνάς ως όρισμα ατόφιο και προσθέτει μια αλλαγή γραμμής στο τέλος. Είναι πιο καθαρή οπτικά (συνήθως και πρακτικά) από την printf() αφού δεν ασχολείται με μετατροπές μεταβλητών κλπ.

     

    Λειτουργικά, το...

    puts( "typwse me sthn othonh" );
    
    ισοδυναμεί με το να έγραφες κάτι σαν κι αυτό:

    printf( "%s\n", "typwse me sthn othonh" );
    
    ή σαν αυτό...
    printf( "typwse me sthn othonh\n" );
    
  • Ομοίως, η putchar() τυπώνει στην οθόνη (stdout) τον χαρακτήρα που της περνάμε σαν όρισμα.

     

    Π.χ. το...

    putchar( '\n' );  /* αλλαγή γραμμής στην οθόνη */
    
    ισοδυναμεί με...
    printf( "%c", '\n' );
    
    ή με...
    printf( "\n" );
    
    ή με...
    puts( "\0" );
    
  • Με #define ορίζουμε σταθερές (ή macros) στον προ-επεξεργαστή της C, οι οποίες κατά ρητή σύμβαση γράφονται με όλα τα γράμματά τους κεφαλαία.

     

    Στην προκειμένη περίπτωση ορίζουμε την σταθερά MAX_INPUT ίση με την τιμή 512, για να μπορούμε να την χρησιμοποιούμε το όνομά της όπου τη χρειαζόμαστε. Χρήσιμο για παράδειγμα αν χρειαστεί να αλλάξουμε την τιμή της, δεν θα ψάχνουμε να βρούμε που έχουμε γράψει 512 σε όλο μας τον κώδικα.

     

    Κάτι σαν μεταβλητή δηλαδή, με την διαφορά πως δεν μπορούμε να της αλλάξουμε τιμή μετά τον ορισμό της (γιατί επί της ουσίας δεν είναι μεταβλητή)... για περισσότερα δες το λινκ που δίνω παραπάνω.

     

  • Τέλος για το πρόβλημα με την scanf() σου έχω ήδη δώσει ένα λινκ στο προηγούμενο ποστ μου που το εξηγεί με λεπτομέρεια και με παραδείγματα. Διάβασέ το κι αν εξακολουθείς να έχεις απορίες ποστάρισέ τες να τις δούμε κι αυτές.
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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

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