Ερώτηση για πίνακες SOS

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
pioneer_
Δημοσιεύσεις: 1
Εγγραφή: 25 Αύγ 2010 17:36

Ερώτηση για πίνακες SOS

Δημοσίευση από pioneer_ » 25 Αύγ 2010 17:52

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

Το ζητούμενο είναι:
'Εστω έχω 2 πίνακες γεμάτους τον pin[N] και npin[N]. Θέλω να συγκρίνονται τα στοιχεία των 2 αυτών πινάκων, κ όσα δεν είναι ίδια να τα κάνει μηδέν (στον npin).

int i;

for(i=0;i<N;i++)
if(*(pin+i) != (*(npin+i))
*(npin+i)=='0';


Επίσης τι εννοεί όταν λέει να συγκριθούν τα 2 πρωτα στοιχεία στα οποία διαφέρουν οι πίνακες?

Γνωρίζω ότι τα πρώτα στοιχεία είναι &pin[0], &npin[0] .Όμως αφού είναι σταθεροί δείκτες πως θα συγκρίνουμε τα στοιχεια τους?


Ευχαριστώ!

alex599
Δημοσιεύσεις: 66
Εγγραφή: 17 Δεκ 2008 01:11
Τοποθεσία: Πάτρα

Ερώτηση για πίνακες SOS

Δημοσίευση από alex599 » 31 Αύγ 2010 17:38

Το πρόβλημα που έχεις είναι απλό. Ξέρεις τπτ από προγραμματισμό σε C?

(1) Η καταχώριση τιμής γίνεται με = και όχι με ==. Με == ελέγχεται η ισότητα δύο στοιχείων.

(2) Αν έχεις πίνακες ακέραιων αριθμών, με ποια λογική βάζεις σε μια θέση του πίνακα έναν χαρακτήρα?

(3) Γιατί χρησιμοποιείς λογική δεικτών? Δεν σου είναι πιο εύκολο με λογική πινάκων? Δηλαδή το *(pin+i) γράψτο ως pin.

(4) Τα στοιχεία των πινάκων είναι τα pin, npin. Δεν χρειάζεται το &, το οποίο σου δίνει διεύθυνση και όχι τιμή!

Με τα 4 πραγματάκια που σου έγραψα μπορείς να διορθώσεις τον κώδικα σου.
while(!dead()) ++knowledge;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης