Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Σεπ 2011, 22:31

Κωδικας που γεμίζει εναν πίνακα 24 γραμμών και 5 στηλών δηλαδη 24 * 5 = 120 στοιχείων
απο το 0 εως το 27

Spoiler: show
Κώδικας: Επιλογή όλων

for(i=0; i<24; i++)
{
printf("\n");
for(j=0; j<5; j++)
{
table_even[i][j]=i+j;
printf("\t%d",table_even[i][j]);
}
}


Θελω να του βαλω και ελεγχους για να διατηρει και να προσθετει τα αρτια στοιχεια του σε καθε σειρα ακομη
επισης αν εχει κανεις προχειρο κανα βιβλιο γραμμικης αλγεβρας ας δει τι ιδιοτητα εχει η παραπανω μητρα ως προς τις διαγωνιους της.
Νομιζω καπως πρεπει να λεγεται αυτος ο πινακας αλλα δεν θυμαμαι...
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Σεπ 2011, 23:05

Ούτε καν πίνακες δεν θέλει :)

Κώδικας: Επιλογή όλων

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

#define MAXINBUF 254+1

#define ISEVEN(n) ( (n) % 2 == 0 )

// ---------------------------------------------------------------------------------
int main( void )
{
char inbuf[ MAXINBUF ] = { 0 };
int count5 = 0, low =0, high = 0, sum = 0, sum5 = 0;

printf("Κάτω όριο: ");
fgets(inbuf, MAXINBUF, stdin);
low = atoi( inbuf );

printf("Άνω όριο : ");
fgets(inbuf, MAXINBUF, stdin);
high = atoi( inbuf );

if (low > high ) {
int temp = low;
low = high;
high = temp;
}

for (count5=0; low < high+1; low++)
{
if ( ISEVEN(low) ) {
sum += low;
sum5 += low;
printf("%d + ", low);
count5++;
}
if ( count5 == 5 || low == high ) {
printf("\b\b= %d\n", sum5);
count5 = sum5 = 0;
}
}

printf("\nΆθροισμα: %d\n\n", sum);

return 0;
}

και δουλεύει και με πλήθη άρτιων που δεν διαιρούνται με το 5 :)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Σεπ 2011, 23:07

Nαι αλλα εγω το θελω με πινακες!!!!!!!! Ξεροκεφαλος και ετσι :P
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 09 Σεπ 2011, 23:07

migf1 έγραψε:

Νέα δημοσίευσηαπό migf1 » 1 λεπτό πριν

Μήπως να ξεκινήσουμε την άσκηση που είπες πριν; Εκείνη που φτιάχνουμε ένα πρόγραμμα με πίνακες....
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Σεπ 2011, 23:10

stamatiou έγραψε:
migf1 έγραψε:

Νέα δημοσίευσηαπό migf1 » 1 λεπτό πριν

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

Ναι, μισό να βάλω τα τελευταία σχόλια, και ποστάρω...
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Σεπ 2011, 23:17

Star_Light έγραψε:Nαι αλλα εγω το θελω με πινακες!!!!!!!! Ξεροκεφαλος και ετσι :P

Και που ξέρεις τι μήκος θα έχει ο πίνακάς;
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Σεπ 2011, 23:27

migf1 έγραψε:
stamatiou έγραψε:
migf1 έγραψε:

Νέα δημοσίευσηαπό migf1 » 1 λεπτό πριν

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

Ναι, μισό να βάλω τα τελευταία σχόλια, και ποστάρω...

Λοιπόν, έφτιαξα τον σκελετό του table.c: http://ideone.com/uJaOd

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

Η πρώτη άσκηση είναι να μου πείτε αν υπάρχει κάτι που δεν καταλαβαίνετε σε αυτόν τον αρχικό κώδικα για να είμαστε σίγουροι πριν αρχίσουμε να φτιάχνουμε συναρτήσεις!

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

void table_print_contents( int *table, const int maxelems );

η οποία θα τυπώνει όσα στοιχεία του πίνακα δεν είναι κενά, το ένα δίπλα στο άλλο ξεχωρισμένα με ένα κενό διάστημα.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Σεπ 2011, 23:47

migf1 έγραψε:
Star_Light έγραψε:Nαι αλλα εγω το θελω με πινακες!!!!!!!! Ξεροκεφαλος και ετσι :P

Και που ξέρεις τι μήκος θα έχει ο πίνακάς;


Το λεει η εκφωνηση... απο 11 ... 131
βεβαια δικο μου λαθος γιατι ετσι οπως το ειπα σε καποιο σημειο
φανηκε πως αυτο το 11..131 που δινω ειναι απλα παραδειγμα και οχι η ακριβης εκφωνηση
εχεις δικιο. :)
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Σεπ 2011, 23:52

Οκ, αλλά ποιος ο λόγος να το κάνεις με πίνακες; Και έξτρα κώδικα θα γράψεις, και έξτρα μνήμη θα πιάσεις, και σε ταχύτητα θα χάσεις και δεν θα δουλεύει και για αριθμούς έξω από το εύρος 11 - 130. :lol:
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 10 Σεπ 2011, 00:19

Οκ, νομίζω πως είμαι εντάξει...
Spoiler: show
Κώδικας: Επιλογή όλων
void table_print_contents(int *table, const int maxelems) {
int i, len = tablen(table, maxelems);
for(i = 0;i < len;i++) {
printf("%d", table[i]);
putchar(' ');
}
putchar('\n');
return;
}
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι