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

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

Δημοσ.

Γεια σας αλανια μου. Θα ηθελα μια βοηθεια σαν πιο περπατημενοι στην C.

Θελω να εμφανισω καποια στοιχεια και να φαινονται σαν το παρακατω πινακακι:

insomnia    insomnia   insomnia   insomnia     insomnia    insomnia
------------------------------------------------------------------------------------
1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

1234(1)     3456(2)     3456(3)     65345(4)    2355(5)      344324(6)

Στη main, εχω τις στηλες (1), (2) τις οποιες εμφανιζω με μια απλη for. Απ' ο.τι καταλαβατε εμφανιζονται γραμμη-γραμμη. πχ printf("%d\t%d",a,B);

(Καπου εδω αρχιζουν τα προβληματα..)

Μετα απο την παραπανω printf, καλω μια συναρτηση void και εμφανιζω την στηλη (3). Τα δεδομενα της, ειναι αποθηκευμενα σε εναν 1x πινακα που τον εμφανιζω με μια for. Εμφανιζεται ετσι, η στηλη (3).

μετα απο την πρωτη συναρτηση void, καλειται αλλη μια void, η οποια εκμεταλευεται τον πινακα στην στηλη (3) και με πολλα ορισματα, εμφανιζω με μια for ομορφα κι ωραια τις στειλες (4), (5),  (6).

πχ printf("%.2f\t%.2f\t%.2f\t",pinakas3, pinakas3*pinakas3, fabs(pinakas3) );

Το προβλημμα μου ειναι οτι εμφανιζονται καπως ετσι:


insomnia    insomnia   insomnia   insomnia     insomnia    insomnia
------------------------------------------------------------------------------------

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(1)     43545(2)

1234(3)

​1234(3)

​1234(3)

​1234(3)

​1234(3)

​1234(3)

​1234(3)​​

1234(3)

4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

​4354(4)   675765(5)  54656(6)

 

Πως θα μπουνε ολα ωραια στοιχισμενα?  :(

οι στηλες ειναι τυχαιες, επικεντρωνομαι στη στοιχιση!!!

 

 

 

  • Moderators
Δημοσ.

Ή θα κάνεις print τα στοιχεία μιας γραμμής σε μία printf ή θα χρησιμοποιήσεις κάποια library για να κάνεις τη δουλειά σου (NCurses).

  • Like 1
Δημοσ.

Ή θα κάνεις print τα στοιχεία μιας γραμμής σε μία printf...

εννοεις να βαλω "ξερα" τα στοιχεια των στηλων (1),(2) μεσα στην printf της πρωτης συναρτησης τυπου void κι ετσι θα μου βγαλει μαζι τις στηλες 1-2-3?

Δημοσ.

Μα είναι φανερό ότι καλεί την συνάρτηση για την τρίτη στήλη έξω από το for και χωρίς να μεταβιβάζει την μεταβλητή του for....

Δημοσ.

Υπάρχει και ο τρόπος να βάλεις τα στοιχεία σε ένα δυσδιάστατο array και μόλις γίνουν όλοι οι υπολογισμοί να κάνεις εμφάνιση κατά γραμμή. Σε πολλά στοιχεία όμως δεν είναι efficient

Δημοσ.

Αν υποχρεωτικά οι νέες στήλες βγαίνουν απ όλα τα στοιχεία των δύο πρώτων στηλών, για κάθε στοιχείο της 3ης στήλης, και ομοίως για τα 4,5,6 τότε σίγουρα σπάει το ζήτημα σε γέμισμα πινάκων και μετά την εμφάνισή τους..Όπως θέλει.

Δημοσ.

η πρωτη στηλη ειναι αριθμοι απο το 1-10

η δευτερη στηλη ειναι ετη 2005-2015

η τριτη στηλη ειναι ενας πινακας και τα στοιχεια του δινονται.

στηλες 4-5-6 κλπ βγαινουν απο την τριτη στηλη.

το προβλημα το οποιο φαινεται αλλωστε, ειναι οτι οταν τελειωσει η μια for, αλλαζει η σειρα.
μετα τελειωνει και η for μεσα στην πρωτη συναρτηση και παλι αλλαζει σειρα...
2η συναρτηση κι αυτη με δικια της for και δειχνει τις τελευταιες στηλες.

καπως πρεπει να το κανω να ισορροπησουν ολες οι στηλες.

Δημοσ.

OP

 

Την λύση στην δώσανε ήδη. Είναι:

 

Ή θα κάνεις print τα στοιχεία μιας γραμμής σε μία printf ή θα χρησιμοποιήσεις κάποια library για να κάνεις τη δουλειά σου (NCurses).

 

Από ό,τι βλέπω, για ncurses δεν το θέλεις. Οπότε, τι σου μένει;

 

 

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

 

 

Hope it helps!

Δημοσ.

η λυση ηταν απλη: 
Εβαλα ολα τα στοιχεια σε μια printf. Οκ, εχω 7 arguments εκει μεσα, αλλα οπως λενε και στο ιντερνετ: ιf it look stupid but works, it ain't stupid.

εχω μια μικρη ερωτηση και ειμαι κομπλε..αλλα θα το δουλεψω λιγο ακομα...πριν ζητησω βοηθεια

  • Like 1
Δημοσ.

Γιατί δεν φτιάχνεις συναρτήσεις; 5 στήλες; 5 συναρτήσεις ;)

 

Ή.. 5 στήλες αλλά οι δύο έχουν ίδιες ιδιότητες; 4 συναρτήσεις.

 

Θέλεις να το κάνεις ακόμα πιο έξυπνο; Ποια είναι η κοινή πληροφορία για κάθε στήλη και, ταυτόχρονα, ικανή να περιγράψει πλήρως όλες τις στήλες; Κάνε ένα typdef και είσαι κύριος. Όλα τα δεδομένα μαζί. Ένας τύπος για input argument.

Δημοσ.

Γιατί δεν φτιάχνεις συναρτήσεις; 5 στήλες; 5 συναρτήσεις ;)

 

Ή.. 5 στήλες αλλά οι δύο έχουν ίδιες ιδιότητες; 4 συναρτήσεις.

Γιατι πολυ απλα δεν το ζηταει η ασκηση. 2 συναρτησεις ζηταει και οι 2 δεν επιστρεφουν τπτ. Ετσι απλα η πρωτη απλα κανει εαν υπολογισμο μονο και η δευτερη κατι αλλους υπολογισμους και εμφανιζει ολα τα υπολοιπα, μορφοποιημενα οπως πρεπει.

Δημοσ.

Κρίμα...

 

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

  • Like 2
Δημοσ.

Κρίμα...

 

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

Το γαμησες.

Κανείς δε γεννήθηκε προγραμματιστής και όλοι πρέπει να περάσουμε κάποια στάδια για να γίνουμε. Είτε αυτό λέγεται άσκηση με ηλήθιες απαιτήσεις ως προς τη λύση είτε αυτό λέγεται, βλαμμένος project manager.

Δημοσ.

Το γαμησες.

Κανείς δε γεννήθηκε προγραμματιστής και όλοι πρέπει να περάσουμε κάποια στάδια για να γίνουμε. Είτε αυτό λέγεται άσκηση με ηλήθιες απαιτήσεις ως προς τη λύση είτε αυτό λέγεται, βλαμμένος project manager.

Είσαι σίγουρος ότι κατάλαβες τι έγραψα; Εάν ναι, τότε κάνεις λάθος. Εάν όχι, τότε σκέψου τι θα έλεγες σε κάποιον που γράφει τέτοια χωρίς να έχει καταλάβει τι διαβάζει.

Δημοσ.

Είσαι σίγουρος ότι κατάλαβες τι έγραψα; Εάν ναι, τότε κάνεις λάθος. Εάν όχι, τότε σκέψου τι θα έλεγες σε κάποιον που γράφει τέτοια χωρίς να έχει καταλάβει τι διαβάζει.

Φυσικά και έχω καταλάβει. Just an opinion.

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...