freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

προβλημα με λίστες


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα]       Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
tommai


Μέλος από: 18 Ιαν 2008
Μηνύματα: 73

View users profile
ΜήνυμαΣτις: 17 Μαη 2010 13:54    Θέμα: προβλημα με λίστες Απάντηση με παράθεση  Mark this post and the followings unread

θέλω να δημιουργήσω μια λίστα 7 στοιχείων να βρω το ΕΛΑΧΙΣΤΟ στοιχείο τής λίστας με τον αλγόριθμο min να διαγράψω το στοιχείο από την λίστα και να το τυπώσω στην οθόνη!

Last edited by tommai on 19 Μαη 2010 19:14, edited 1 time in total
xultimatex
Honorary Member

Μέλος από: 26 Ιουλ 2003
Μηνύματα: 256+
Περιοχή: Ξάνθη
View users profile
facebook 
ΜήνυμαΣτις: 17 Μαη 2010 15:09    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Η συνδεδεμένη λίστα είναι δυναμική δομή αποθήκευσης ενώ ο πίνακας είναι στατική. Αυτό δίνει στην καθε μια πλεονεκτήματα και μειονεκτήματα.

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

Αντίθετα αν ήταν συνδεδεμένη λίστα θα επρεπε απλά να αλλάξεις δυο συνδέσεις. Αν πρόκειται για άσκηση νομίζω πως οταν λέει δημιουργία λίστας εννοεί την συνδεδεμένη.


Just an arrow? http://www.google.gr/search?q=linked+list+c%2B%2B&ie=utf-8&...;client=firefox-a

_________________
Just an arrow? Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...
tommai


Μέλος από: 18 Ιαν 2008
Μηνύματα: 73

View users profile
ΜήνυμαΣτις: 19 Μαη 2010 17:40    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

προσπάθεια 2


ναι για άσκηση προκητε και συνεχόμενη λίστα.....

κώδικας:
{
int A[7]={1,2,3,4,5,6,7}
int i,min;
min=A[0];
for (i=0;i<7;i++)
if (A[i]<min)
min=A[i]
cout<<min;
}



απλά δεν γνωρίζω πώς να διαγράψω αυτό το στοιχείο......
ας μου απαντήσει κάποιος αν είναι σωστή η σκέψη μου.......
xultimatex
Honorary Member

Μέλος από: 26 Ιουλ 2003
Μηνύματα: 256+
Περιοχή: Ξάνθη
View users profile
facebook 
ΜήνυμαΣτις: 19 Μαη 2010 18:24    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Αυτός ο κώδικας που βάζεις βρίσκει το ελάχιστο στοιχείο. Ωραία!
Για να το διαγράψεις πρέπει όλα τα στοιχεία που βρίσκονται μετά το ελάχιστο να πάνε μια θέση αριστερά.
Δηλαδή το δύο να πάει στη θέση του ένα
το τρία στη θέση του δύο
κ.ο.κ.
Έτσι ο καινούριος πίνακας θα ξεκινάει από το 2 και θα έχει μια κενή θέση στο τέλος.

_________________
Just an arrow? Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...
tommai


Μέλος από: 18 Ιαν 2008
Μηνύματα: 73

View users profile
ΜήνυμαΣτις: 19 Μαη 2010 18:40    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

καλό αυτό...το ένα όμως που θα πάει εκτός λίστας?

κώδικας:

{
int A[7]={1,2,3,4,5,6,7}
int i,min,telos; //Δήλωση λίστας;

telos=min;

min=A[0];
for (i=0;i<7;i++)
if (A[i]<min)
min=A[i]


A[5]=A[6];
A[3]=A[4];
A[1]=A[2];

telos--;

cout<<”H lista meta th diagrafh einai: “;
for(i=0; i<=telos; i++)
{
cout<<A[i];
}
}

cout<<min;
}



φίλε μου αυτό εννοείς....??
xultimatex
Honorary Member

Μέλος από: 26 Ιουλ 2003
Μηνύματα: 256+
Περιοχή: Ξάνθη
View users profile
facebook 
ΜήνυμαΣτις: 20 Μαη 2010 02:48    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Όχι ακριβώς αλλά νομίζω το έπιασες το νόημα..

κώδικας:

int A[7]={1,2,3,4,5,6,7}
int i, min;

min=0;
for(i=1;i<7;i++) {
   if (A[i]<A[min]) {min=i;}
}

for(i=min;i<7-1;i++) {
  A[i]=A[i+1];
}


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

_________________
Just an arrow? Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...
tommai


Μέλος από: 18 Ιαν 2008
Μηνύματα: 73

View users profile
ΜήνυμαΣτις: 21 Μαη 2010 14:06    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

ευχαριστώ xultimatex
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Πώς τα πάμε από λίστες??SOS 1 karetta_seaworld 23 Ιουλ 2015 10:12
gvre Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 03 Δεκ 2016 04:28 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos