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

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

Δημοσ.

Εγώ στη C# βάζω αγκύλες μόνο αν είναι απαραίτητες.

 

Το πρόβλημα όμως είναι όταν γίνονται απαραίτητες στην πορεία. Ή παίρνεις το ρίσκο να μην το προσέξεις και να βάλεις bug, ή απλά τις βάζεις πάντα και ένα λιγότερο πράγμα να έχεις στο μυαλό σου.

 

Γενικά ο προγραμματισμός, ιδιαίτερα σε σοβαρό επίπεδο, είναι πολύ απαιτητική εγκεφαλικά δραστηριότητα λόγω της ανάγκης να διαχειρίζεσαι ταυτόχρονα πολλά πράγματα στο μυαλό σου (π.χ. από το πολύ low level edit που γράφεις κάτι μέχρι το πολύ high level του πώς δένει αυτό που πας να κάνεις με άλλα components του προγράμματος κλπ). Οπότε one less thing to keep in mind = win.

 

Ή για να το πω με άλλα λόγια: πλέον ο πιο περιορισμένος πόρος στον προγραμματισμό δεν είναι ούτε τα bytes του δίσκου, ούτε τα pixel της οθόνης, ούτε τα cycles της CPU. Είναι το μυαλό μας.

  • Like 1
  • Απαντ. 43
  • Δημ.
  • Τελ. απάντηση

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

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

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

Δημοσ.

Ειναι και θέμα γούστου.

Όταν είσαι στο super market και τα προϊόντα σου έχουν κάποια απόσταση (indent) από του προηγούμενου, βάζεις διαχωριστικό (bracet) :)

Δημοσ.

Λοιπον τελίωσε το φιδακι (αφου το κανω πιο γενικο με size-10 αντι του 90 και λοιπα...) θα προχωρησω σε αλλη ασκηση τωρα και αμα εχω τρελο προβλημα ξεκιναω κανενα αλλο νημα....

και παλι ευχαριστω !!!!! :-D

:-D :-D :-D :-D :-D :-D

Δημοσ.

Λοιπον τελίωσε το φιδακι (αφου το κανω πιο γενικο με size-10 αντι του 90 και λοιπα...) θα προχωρησω σε αλλη ασκηση τωρα και αμα εχω τρελο προβλημα ξεκιναω κανενα αλλο νημα....

και παλι ευχαριστω !!!!! :-D

:-D :-D :-D :-D :-D :-D

 

Ωραίος!

 

Καλή συνέχεια :)

Δημοσ.

πριν προλαβω να καλοχαρώ προεκυψε αλλο προβλημα στο νεο μου προγραμμα. Εχω κατι συναρτησεις που εχουν την εξης μορφή :

 

>
void drawPattern(long size,long ident) {

 if (pattern==1) return("*");
 else {
	   size/=2;
	   return drawPattern(size,ident);
	   printf("\n");
	   int n=size;
	   char c='*';
	   printNChars(n,c);
	   ident++;
	   return drawPattern(size,ident); }
	  
	   }
	 
void printNChars(long n,char c) {
 for (i=0;i==n;i++) printf("%c",c);		
 printf("\n");}	

 

οι οποιες αφου καλεστουν απο το κύριο προγραμμα θελω να τυπώνουν αστερισκους και κενα ωστε να εμφανιζονται κατι μοτιβα.

Το θεμα ειναι οχι να μου πειτε πως θα φτιαξω τα μοτιβα αυτο νομιζω το χω βρει αλλα το πως θα εμφανιζονται τα μοτιβα στον υπολογιστη.Αυτο γιατι καθε φορα που τρεχω το προγραμμα μου λεει ο debugger : An access violation raised in your programm... Μήπως αυτό συμβαινει γιατι οι συναρτησεις ειναι τυπου void και δεν επιτρεπεται να επιστρεφουν τιποτα ή υπαρχει καποιος αλλος λογος??? Αν όντως φταίει το γεγονος οτι οι συναρτησεις ειναι τυπου void δεν φταιω εγω γιατι μας εχουν ζητησει να χρησιμοποιησουμε τετοιου ειδους συναρτησεις...Απο κει και περα δεν ξερω αν αυτο διαφοροποιει το προγραμμα μου αλλα θελω οπως βλεπετε οι συναρτησεις αυτες να ειναι και αναδρομικες.

Δημοσ.

Βγάλε τα return από την drawPattern και δες τι θα ζωγραφίσει.

return("*") δεν έχει νόημα.

Αυτό ίσως:

{

printf("*");

return;

}

 

 

Γίνετε ποτέ 1 η pattern, αλλιώς δεν τελειώνει η αναδρομή.

Μήπως είναι size αντι για pattern?

 

Μάλλον i<n πρέπει στην printChars. Δήλωσε το i μέσα στην printChars

 

To ident δεν επηρεάζει τίποτα.

Δημοσ.

Το οτι ειναι αναδρομικες, δε σημαινει οτι οι αναδρομικες κλησεις γινονται με return.

πχ:

>
void bynight(int num,int space) {
int i;
if(num>0){
 printf("*\n", num);
 for(i=0; i<=space; i++){
  if (num==1){
   break;
  }
  printf(" ");
 }
 bynight(num-1, space+1); // ANADROMI

 for(i=1; i<space; i++){
  printf(" ");
 }
 if (space){
  printf("*\n", space);
 }  
}
}

Δημοσ.

το ξαναεκανα το προγραμμα χωρις return και με return εντος της αναδρομικης συναρτησης καθως επισης η κληση γινοταν χωρις return αλλα οπως στην printNChars χωρις αποτελεσμα.Δεν καταλαβαινω τι παει στραβα και δεν μπορει να γινει η κληση της συναρτησης... ακομα και στην πρωτη περιπτωση που υποτιθεται οτι τυπωνω ενα και μονο * δεν μπορει να εκτελεστει το προγραμμα

Δημοσ.

δεν ειναι αυτο το θεμα την εχω δηλωσει ως global μεταβλητη πριν την int main() ....

Ειναι, εφ οσον η τιμη της δεν αλλαζει πουθενα, αρα θα εκτελειται παντα η else, αρα unreachable code και stack overflow

Δημοσ.

@migf1 ποιο φορουμ? Αν πανε λεω την ιδια λυση 20-30 ατομα θα το καταλαβει ο καθηγητης με το που θα δει τις λυσεις.....

 

Αν δεν το καταλαβει ειτε σημαινει πως ειναι αλλου οπως ειπα και πιο πανω ή δεν κοιταξε καμια εργασια απο αυτες που έβαλε.....

 

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

 

Πιο ενδιαφεροντα και εποικοδομητικα πραγματα να κανει ενας καθηγητης απο το να ασχολειται με τους μαθητες του? τοτε ας αφησει το καθηγητιλικι και ας παει σε μια εταιρεια.

 

Για μενα φιλε το γεματο προγραμμα των καθηγητων στα πανεπιστημια ειναι λαθος. Ας πανε να γινουν ερευνητες δεν γινεται και καθηγητης και ερευνητης ταυτοχρονα. Πρεπει να πρετοιμασεις καποιους ανθρωπους να βγουνε εξω να ειναι ετοιμοι για δουλεια οπως κανει η Αμερικη και κοιτα τι αναπτυξη - τεχνολογια και οικονομια εχει δεν γινεται επιτελους ολα να τα αφηνουμε στην τυχη σε αυτη την χωρα και να προσδοκουμε ξαφνικα στο "Α! Ειμαστε Ελληνες κάτι θα γινει στο τελος... ή εχουμε ικανοτητα να τουμπαρρυμε καταστασεις και θα τα καταφερουμε κ παλι!"

 

Η αντίληψή σου είναι εντελώς λανθασμένη, με βάση τα όσα ισχύουν παγκοσμίως:

- Οι καθηγητές πρέπει να κάνουν έρευνα. Εξάλλου με βάση αυτό κρίνονται.

- Ναι πρέπει και να διδάσκουν και να το κάνουν όσο πιο καλά και ευσυνείδητα γίνεται.

- Η έρευνα είναι τουλάχιστον εξίσου σημαντική με τη διδασκαλία (αν όχι περισσότερο).

- Επιπλέον της έρευνας και της διδασκαλίας υπάρχουν και διοικητικά κλπ κλπ.

 

Υπάρχουν (παγκοσμίως) πανεπιστήμια στα οποία οι καθηγητές κάνουν μόνο μάθημα (teaching universities), αλλά αυτά θεωρούνται μακράν χειρότερα από τα "κανονικά". Κάποιος λόγος θα υπάρχει...

 

Δύο πράγματα ακόμα:

- Ο καθηγητής στο Πανεπιστήμιο δεν έχει να ασχοληθεί με 1-2-10-30 άτομα και τις εργασίες τους. Έχει να ασχοληθεί με 100-200-400... Επομένως το χρόνο που σου δίνει και τη λεπτομέρεια με την οποία ασχολείται πρέπει να τη βλέπεις στη σωστή κλίμακα.

- Σύγκρινε την υποστήριξη (σε βοηθούς - οι οποίοι παρεπιμπτόντως πληρώνονται) στα μαθήματα σε πανεπιστήμια του εξωτερικού και της Ελλάδας και κλάψε. Επίσης σύγκρινε το μέγεθος των τάξεων και κλάψε

 

δεν ειναι αυτο το θεμα την εχω δηλωσει ως global μεταβλητη πριν την int main() ....

 

Το να χρησιμοποιείς global μεταβλητές σε αναδρομικές κλήσεις καταστρέφει την όλη ιδέα της αναδρομής.

  • Like 2
Δημοσ.

Λοιπον τελίωσε το φιδακι (αφου το κανω πιο γενικο με size-10 αντι του 90 και λοιπα...) θα προχωρησω σε αλλη ασκηση τωρα και αμα εχω τρελο προβλημα ξεκιναω κανενα αλλο νημα....

και παλι ευχαριστω !!!!! :-D

:-D :-D :-D :-D :-D :-D

Φιλε ΒΤSGeo συγγνωμη που θα σε ταραξω λιγες ωρες πριν την παραδοση αλλα με το size-10 δεν το γενικοποιεις γιατι αν σου αλλαξει τον πινακα δεν θα εχεις 10 κουτακια σε καθε σειρα ωστε να σε καλυπτει το -10. Βεβαια οπως μ ειπε και ενας φιλος προσπαθησε να παρεις το μεγαλυτερο βαθμο και απο τις 2 ασκησεις και οχι μονο το 100% απο τη μια και τιποτα απο την αλλη, οποτε ασχολησου με την αναδρομη και αργοτερα αν εχεις χρονο (και εχεις δει και εγκαιρα την απαντηση μου) το διορθωνεις!

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

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

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

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

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

Σύνδεση

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

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

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