Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

4.1 Οι πίνακες (Array) στην C

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

Για να δημιουργήσετε έναν πίνακα, καθορίστε τον τύπο δεδομένων (όπως int) και καθορίστε το όνομα του πίνακα ακολουθούμενο από αγκύλες [].

Για να εισαγάγετε τιμές σε αυτόν, χρησιμοποιήστε μια λίστα χωρισμένη με κόμματα, μέσα σε αγκύλες:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
printf("%d\n", numbers[0]);
printf("%d\n", numbers[2]);
return 0;
}
#include <stdio.h> int main() { int numbers[5] = {1, 2, 3, 4, 5}; printf("%d\n", numbers[0]); printf("%d\n", numbers[2]); return 0; }
#include <stdio.h>

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};
    printf("%d\n", numbers[0]);
    printf("%d\n", numbers[2]);

    return 0;
}

Στο παραπάνω παράδειγμα, ο πίνακας numbers περιέχει τις τιμές 1, 2, 3, 4 και 5. Η συνάρτηση printf χρησιμοποιείται για να εκτυπώσει την πρώτη τιμή του πίνακα (index 0) και την τρίτη τιμή του πίνακα (index 2). Οι τιμές αυτές εκτυπώνονται στην οθόνη.

Για να αποκτήσετε πρόσβαση σε ένα στοιχείο του πίνακα, αναφερθείτε στον αριθμό ευρετηρίου του.

Οι ευρετήριοι του πίνακα ξεκινούν από 0: [0] είναι το πρώτο στοιχείο. Το [1] είναι το δεύτερο στοιχείο, κ.λπ.

Η παρακάτω δήλωση αποκτά πρόσβαση στην τιμή του πρώτου στοιχείου [0] στον πίνακα myNumbers:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int myNumbers[3] = {10, 20, 30};
printf("%d\n", myNumbers[0]);
return 0;
}
#include <stdio.h> int main() { int myNumbers[3] = {10, 20, 30}; printf("%d\n", myNumbers[0]); return 0; }
#include <stdio.h>

int main() {
    int myNumbers[3] = {10, 20, 30};
    printf("%d\n", myNumbers[0]);

    return 0;
}

Στο παραπάνω παράδειγμα, ο πίνακας myNumbers περιέχει τις τιμές 10, 20 και 30. Η συνάρτηση printf χρησιμοποιείται για να εκτυπώσει την πρώτη τιμή του πίνακα (index 0), η οποία είναι ο αριθμός 10. Αυτή η τιμή εκτυπώνεται στην οθόνη.

Για να αλλάξετε την τιμή ενός συγκεκριμένου στοιχείου, αναφερθείτε στον αριθμό ευρετηρίου του:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int myNumbers[3] = {10, 20, 30};
printf("%d\n", myNumbers[1]);
myNumbers[1] = 40;
printf("%d\n", myNumbers[1]);
return 0;
}
#include <stdio.h> int main() { int myNumbers[3] = {10, 20, 30}; printf("%d\n", myNumbers[1]); myNumbers[1] = 40; printf("%d\n", myNumbers[1]); return 0; }
#include <stdio.h>

int main() {
    int myNumbers[3] = {10, 20, 30};
    printf("%d\n", myNumbers[1]);

    myNumbers[1] = 40;
    printf("%d\n", myNumbers[1]);

    return 0;
}

Στο παραπάνω παράδειγμα, ο πίνακας myNumbers αρχικοποιείται με τις τιμές 10, 20 και 30. Η συνάρτηση printf χρησιμοποιείται για να εκτυπώσει τη δεύτερη τιμή του πίνακα (index 1), η οποία είναι ο αριθμός 20. Στη συνέχεια, η τιμή του δεύτερου στοιχείου του πίνακα αλλάζει από 20 σε 40, και η συνάρτηση printf χρησιμοποιείται ξανά για να εκτυπώσει την ανανεωμένη δεύτερη τιμή του πίνακα (index 1), η οποία είναι το 40.

[adinserter block=”2″]

Μπορείτε να διατρέξετε τα στοιχεία του πίνακα με τη βοήθεια της επανάληψης for.

Το παρακάτω παράδειγμα εμφανίζει όλα τα στοιχεία στον πίνακα myNumbers:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int myNumbers[3] = {10, 20, 30};
int i;
for (i = 0; i < 3; i++) {
printf("%d\n", myNumbers[i]);
}
return 0;
}
#include <stdio.h> int main() { int myNumbers[3] = {10, 20, 30}; int i; for (i = 0; i < 3; i++) { printf("%d\n", myNumbers[i]); } return 0; }
#include <stdio.h>

int main() {
    int myNumbers[3] = {10, 20, 30};
    int i;

    for (i = 0; i < 3; i++) {
        printf("%d\n", myNumbers[i]);
    }

    return 0;
}

Στο παραπάνω παράδειγμα, η επανάληψη for χρησιμοποιείται για να διατρέξει τα τρία στοιχεία του πίνακα myNumbers. Κάθε στοιχείο του πίνακα εκτυπώνεται στην οθόνη με τη χρήση της συνάρτησης printf. Η μεταβλητή i χρησιμοποιείται ως ευρετήριο του πίνακα και αρχικοποιείται στο 0, ενώ αυξάνεται κατά 1 σε κάθε επανάληψη.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int myNumbers[5];
int i;
myNumbers[0] = 10;
myNumbers[1] = 20;
myNumbers[2] = 30;
myNumbers[3] = 40;
myNumbers[4] = 50;
for (i = 0; i < 5; i++) {
printf("%d\n", myNumbers[i]);
}
return 0;
}
#include <stdio.h> int main() { int myNumbers[5]; int i; myNumbers[0] = 10; myNumbers[1] = 20; myNumbers[2] = 30; myNumbers[3] = 40; myNumbers[4] = 50; for (i = 0; i < 5; i++) { printf("%d\n", myNumbers[i]); } return 0; }
#include <stdio.h>

int main() {
    int myNumbers[5];
    int i;

    myNumbers[0] = 10;
    myNumbers[1] = 20;
    myNumbers[2] = 30;
    myNumbers[3] = 40;
    myNumbers[4] = 50;

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

    return 0;
}

Στο παραπάνω παράδειγμα, ένας πίνακας myNumbers δηλώνεται με μέγεθος 5. Στη συνέχεια, οι τιμές 10, 20, 30, 40 και 50 προστίθενται στα πρώτα πέντε στοιχεία του πίνακα. Η επανάληψη for χρησιμοποιείται για να διατρέξει τα πέντε στοιχεία του πίνακα myNumbers και να τα εκτυπώσει στην οθόνη.

Πολυδιάστατοι Πίνακες
Στο προηγούμενο κεφάλαιο, μάθατε για τους πίνακες, που είναι γνωστοί και ως πίνακες μονής διάστασης. Αυτοί είναι εξαιρετικοί και κάτι που θα χρησιμοποιείτε πολύ κατά τη διάρκεια της προγραμματιστικής σας δουλειάς στο C. Ωστόσο, αν θέλετε να αποθηκεύσετε δεδομένα σε μορφή πίνακα, όπως ένας πίνακας με σειρές και στήλες, πρέπει να εξοικειωθείτε με τους πολυδιάστατους πίνακες.

Ένας πολυδιάστατος πίνακας είναι ουσιαστικά ένας πίνακας από πίνακες.

Οι πίνακες μπορούν να έχουν οποιοδήποτε αριθμό διαστάσεων. Σε αυτό το κεφάλαιο, θα εισαγάγουμε τον πιο κοινό τύπο, τους δισδιάστατους πίνακες (2D).

[adinserter block=”3″]

Δισδιάστατοι Πίνακες
Ένας 2D πίνακας είναι επίσης γνωστός ως πίνακας (ένας πίνακας με σειρές και στήλες).

Για να δημιουργήσετε έναν 2D πίνακα ακεραίων, δείτε το παρακάτω παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
#include <stdio.h> int main() { int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } return 0; }
#include <stdio.h>

int main() {
    int matrix[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    int i, j;

    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Στο παραπάνω παράδειγμα, δημιουργείται ένας 2D πίνακας με το όνομα matrix, που αποτελείται από 3 σειρές και 3 στήλες. Τα στοιχεία του πίνακα δηλώνονται με μια λίστα αριθμών, χρησιμοποιώντας δύο αγκύλες για κάθε διάσταση. Η εσωτερική επανάληψη for χρησιμοποιείται για να διατρέξει τα στοιχεία κάθε σειράς και η εξωτερική επανάληψη for χρησιμοποιείται για να διατρέξει τις σειρές του πίνακα. Κάθε στοιχείο του πίνακα εκτυπώνεται στην οθόνη με τη χρήση της συνάρτησης printf.

Πρόσβαση στα στοιχεία ενός 2D πίνακα
Για να αποκτήσετε πρόσβαση σε ένα στοιχείο ενός δισδιάστατου πίνακα, πρέπει να καθορίσετε τον αριθμό ευρετηρίου και για τη σειρά και για τη στήλη.

Η παρακάτω εντολή αποκτά πρόσβαση στην τιμή του στοιχείου στην πρώτη σειρά (0) και την τρίτη στήλη (2) του πίνακα matrix.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
matrix[0][2]
matrix[0][2]
matrix[0][2]

Αλλαγή των στοιχείων ενός 2D πίνακα
Για να αλλάξετε την τιμή ενός στοιχείου, αναφερθείτε στον αριθμό ευρετηρίου του στοιχείου σε κάθε διάσταση:

Το ακόλουθο παράδειγμα θα αλλάξει την τιμή του στοιχείου στην πρώτη σειρά (0) και την πρώτη στήλη (0):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
matrix[0][0] = 42;
matrix[0][0] = 42;
matrix[0][0] = 42;

Επανάληψη μέσω ενός 2D πίνακα
Για να διατρέξετε ένα δισδιάστατο πίνακα, χρειάζεστε μία επανάληψη για κάθε διάσταση του πίνακα.

Το ακόλουθο παράδειγμα εμφανίζει όλα τα στοιχεία του πίνακα matrix:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
#include <stdio.h> int main() { int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } return 0; }
#include <stdio.h>

int main() {
    int matrix[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    int i, j;

    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Στο παραπάνω παράδειγμα, διατρέχετε ο πίνακας matrix με τη χρήση δύο επαναλήψεων for. Η εσωτερική επανάληψη for χρησιμοποιείται για να διατρέξει τα στοιχεία κάθε σειράς και η εξωτερική επανάληψη for χρησιμοποιείται για να διατρέξει τις σειρές του πίνακα. Κάθε στοιχείο του πίνακα εκτυπώνεται στην οθόνη με τη χρήση της συνάρτησης printf.

Δωρεα μεσω Paypal

Για την κάλυψη αναγκών φιλοξενίας και δημιουργίας περιεχομένου.

κατηγοριες μαθηματων

Ιστορικο ενοτητων

top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων