• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 00:22:27 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 00:22:27 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31711
Online Today: 164
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 46
Guests: 112
Total: 158
mpizos
Deviate
ELEF
tasos gourd
sassi
Born_Confused
gkyrodi
jimalexoud
HlektrikhPatata
iliaskou
Spyridon01101
noys
vpoug
acolak
Δημητρης Αξιμιωτης
Yamal
chaniotism
andripappa
fpapat
thaliatsk
georgepana9
Thanasis_pap
Stathiss
georgy
ValKar
Maximos7
Elenit
nikos.a
maestros
Liamos
DarkMagiK06
Zoe06
boulionis
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
apal
Το παγώνι
Summand
theofr
dinoschalv
mprova
kostas1507
chrisg
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 15 16 [17] 18 19 ... 48 Go Down Print
Author Topic: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα  (Read 72634 times)
Matzika
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1313


my immortality


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #240 on: September 17, 2008, 15:48:58 pm »

λοιπον θα σκάσω! Angry
μπορεί καποιος να μ εξηγήσει γιατι δεν δουλευει η παρακάτω διαδική αναζήτηση?????

int find(int zitoumeno,int first,int last,int pelates[]){
    int middle;
    middle=(first+last)/2;//printf("diadiki anazitisi se ekseliksi..\n");
    if(zitoumeno>pelates[last]||zitoumeno<pelates[first]) return -1;
    if(pelates[middle]==zitoumeno) return middle;
    if(first==last){
        middle=last;
        if(zitoumeno==pelates[middle]){
            return pelates[zitoumeno];
        }
        else{
            return -1;
        }
    }
    if(zitoumeno>pelates[middle]){
        return find(zitoumeno,middle+1,last,pelates);
    }
    else if(zitoumeno<pelates[middle]){
        return find(zitoumeno,first,middle-1,pelates);
    }
}                  

το προσπαθησα με καθε δυνατον τρόπο αλλα ενω το προγραμμα λειτουργει μια χαρα και εκτελει τον κωδικα πανω δεν μ το εκτελει σωστα και έτσι βγαζει λαθος αποτέλεσμα.... Undecided Undecided Undecided
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #241 on: September 17, 2008, 16:08:42 pm »

Code:

int find(int zitoumeno,int first,int last,int pelates[]){
    int middle;
    middle=(first+last)/2;//printf("diadiki anazitisi se ekseliksi..\n");
    if(zitoumeno>pelates[last]||zitoumeno<pelates[first])
         return -1;
    if(pelates[middle]==zitoumeno)
         return middle;
    if(first==last){
if (zitoumeno==pelates[last])
    return last;
       
        else
            return -1;
    }   
   
    if(zitoumeno>pelates[middle]){
        return find(zitoumeno,middle+1,last,pelates);
    }
    else if(zitoumeno<pelates[middle]){
        return find(zitoumeno,first,middle-1,pelates);
    }
}                 

έτσι δουλεύει το δοκίμασα.

edit: Μη ξεχνάς ότι τα στοιχεία του πίνακα πρέπει να είναι κατανεμημένα κατά αύξουσα σειρά.

Επίσης νομίζω αυτό είναι περιττό
Code:
   if(first==last){
if (zitoumeno==pelates[last])
    return last;
       
        else
            return -1;
    }   
   
« Last Edit: September 17, 2008, 16:16:58 pm by Emfanever » Logged
Anyparktos
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1116


(╯°□°)╯︵ ┻━┻


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #242 on: September 17, 2008, 16:14:28 pm »

Έχει κρατήσει κανείς(έστω και στη μνήμη του Tongue) τα θέματα του Ιούνη?Δεν μπορω να κάτσω να ξανακάνω τις φρικτές εργασίες που μας έβαλε μέσα στη χρονιά,θα βγάλω αλλεργία!
Logged


With great power come great circuit breakers.And great cross sections.And great relays.
Matzika
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1313


my immortality


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #243 on: September 17, 2008, 18:57:58 pm »

Quote from: Emfanever on September 17, 2008, 16:08:42 pm
Code:

int find(int zitoumeno,int first,int last,int pelates[]){
    int middle;
    middle=(first+last)/2;//printf("diadiki anazitisi se ekseliksi..\n");
    if(zitoumeno>pelates[last]||zitoumeno<pelates[first])
         return -1;
    if(pelates[middle]==zitoumeno)
         return middle;
    if(first==last){
if (zitoumeno==pelates[last])
    return last;
       
        else
            return -1;
    }   
   
    if(zitoumeno>pelates[middle]){
        return find(zitoumeno,middle+1,last,pelates);
    }
    else if(zitoumeno<pelates[middle]){
        return find(zitoumeno,first,middle-1,pelates);
    }
}                 

έτσι δουλεύει το δοκίμασα.

edit: Μη ξεχνάς ότι τα στοιχεία του πίνακα πρέπει να είναι κατανεμημένα κατά αύξουσα σειρά.

Επίσης νομίζω αυτό είναι περιττό
Code:
   if(first==last){
if (zitoumeno==pelates[last])
    return last;
       
        else
            return -1;
    }   
   

α μονο ο δικος μ compiler αντιστεκεται δλδ!! Tongue
βασικα γιαυτο που λες οτι ειναι περιττο γιατι ειναι περιττο?ξέρω ότι ο κορτεσης το έχει έτσι λυμένο στην ασκηση αλλα σκέψου ότι ο πίνακας μπορεί να έχει μονο ένα στοιχείο..τότε αν δεν γράψεις αυτο το κομματι του κώδικα η συνάρτηση θα σου επιστρέψει ότι δεν βρήκε το ζητούμενο...οπότε?
Logged
Matzika
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1313


my immortality


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #244 on: September 17, 2008, 19:00:08 pm »

Quote from: Anyparktos on September 17, 2008, 16:14:28 pm
Έχει κρατήσει κανείς(έστω και στη μνήμη του Tongue) τα θέματα του Ιούνη?Δεν μπορω να κάτσω να ξανακάνω τις φρικτές εργασίες που μας έβαλε μέσα στη χρονιά,θα βγάλω αλλεργία!

μου έχει μείνει έντονα χαραγμένο στη μνήμη (σαν τραύμα ένα πράγμα!) ότι είχε βάλει αρχεία...
και εύχομαι τώρα να μην ξανακάνει το ίδιο λάθος... Tongue
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #245 on: September 17, 2008, 19:05:54 pm »

Quote from: Matzika on September 17, 2008, 18:57:58 pm

α μονο ο δικος μ compiler αντιστεκεται δλδ!! Tongue
βασικα γιαυτο που λες οτι ειναι περιττο γιατι ειναι περιττο?ξέρω ότι ο κορτεσης το έχει έτσι λυμένο στην ασκηση αλλα σκέψου ότι ο πίνακας μπορεί να έχει μονο ένα στοιχείο..τότε αν δεν γράψεις αυτο το κομματι του κώδικα η συνάρτηση θα σου επιστρέψει ότι δεν βρήκε το ζητούμενο...οπότε?

Αυτό που πόσταρα είναι λίγο διαφορετικό από το δικό σου, σε κάποια στιγμή γράφεις pelates[zitoumeno] που είναι λάθος.


Για το περιττό που σου έλεγα, αν έχεις μόνο ένα στοιχείο, τότε first=last=0 ,άρα middle=0 ,οπότε pelates[middle]=pelates[0] = το μοναδικό στοιχείο του πίνακα.

ϊσως κάνεις λάθος στην εφαρμογή. αυτό που επιστρέφει η συνάρτηση είναι η θέση του στοιχείου που ψάχνεις στον πίνακα.
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #246 on: September 17, 2008, 19:17:34 pm »

Να ένα παράδειγμα. Ο πίνακας α είναι      : 11 12 13 14 15 16 17 18 19 20
Code:
#include <stdio.h>

int find(int zitoumeno,int first,int last,int pelates[]);

void main()
{
  int i,x,y,a[10];

  for (i=0;i<10;i++)
      a[i]=11+i;

  printf("Poio stoixeio psaxneis?");
  scanf("%d",&x);
  y=find(x,0,9,a);
  if (y!= -1)
      printf("\nH thesi tou stoixeiou ston pinaka einai : %d",y);
  else
      printf("\nDe vrethike!");
 

}



int find(int zitoumeno,int first,int last,int pelates[]){
    int middle;
    middle=(first+last)/2;//printf("diadiki anazitisi se ekseliksi..\n");
    if(zitoumeno>pelates[last]||zitoumeno<pelates[first])
         return -1;
    if(pelates[middle]==zitoumeno)
         return middle;
    if(first==last){
if (zitoumeno==pelates[last])
    return last;
       
        else
            return -1;
    }   
   
    if(zitoumeno>pelates[middle]){
        return find(zitoumeno,middle+1,last,pelates);
    }
    else if(zitoumeno<pelates[middle]){
        return find(zitoumeno,first,middle-1,pelates);
    }
}
Logged
Anyparktos
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1116


(╯°□°)╯︵ ┻━┻


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #247 on: September 17, 2008, 19:27:39 pm »

Eπειδή για κάποιο λόγο δεν μπορώ να μπω σε σελίδες του εξωτερικού μπορεί κανείς να googlάρει "binary search for c" και να μου γράψει εδώ τον αντίστοιχο κώδικα?Better yet,έχουμε αυτό για γενική μορφή:

Code:
BinarySearch(A[0..N-1], value, low, high) {
       if (high < low)
           return -1 // not found
       mid = (low + high) / 2
       if (A[mid] > value)
           return BinarySearch(A, value, low, mid-1)
       else if (A[mid] < value)
           return BinarySearch(A, value, mid+1, high)
       else
           return mid // found
   }

Στη θέση του A[1,2...N] για τη C πρέπει να βάλουμε A σκέτο ή *A?
Logged


With great power come great circuit breakers.And great cross sections.And great relays.
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #248 on: September 17, 2008, 19:31:01 pm »

*A, επειδή στη θέση αυτή θα βάλεις το όνομα πίνακα που είναι pointer
Logged
Matzika
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1313


my immortality


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #249 on: September 17, 2008, 19:35:34 pm »

emfanever ειχες δίκιο για το λαθος που είχα όμως παρόλο που το άλλαξα παλι δεν τρέχει σωστα...τεσπα..
παντως για αυτο με τον μηδενικό πίνακα δεν κατάλαβα το συλλογισμό σου...
πιστεύω ότι αν γραψουμε τον κωδικα όπως τον δίνει ο κορτέσης στις λύσεις και έχουμε μόνο ένα στοιχείο στον πινακα μας η συναρτηση δεν θα μας το επιστρέψει διοτι έχουμε καθορίσει ότι όταν first==last return -1(οτι δεν υπαρχει το ζητούμενο..)
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #250 on: September 17, 2008, 19:51:50 pm »

Quote from: Matzika on September 17, 2008, 19:35:34 pm
emfanever ειχες δίκιο για το λαθος που είχα όμως παρόλο που το άλλαξα παλι δεν τρέχει σωστα...τεσπα..
παντως για αυτο με τον μηδενικό πίνακα δεν κατάλαβα το συλλογισμό σου...
πιστεύω ότι αν γραψουμε τον κωδικα όπως τον δίνει ο κορτέσης στις λύσεις και έχουμε μόνο ένα στοιχείο στον πινακα μας η συναρτηση δεν θα μας το επιστρέψει διοτι έχουμε καθορίσει ότι όταν first==last return -1(οτι δεν υπαρχει το ζητούμενο..)

Νόμίζω κατάλαβα τη λογική του, είναι λίγο μπερδεμένο.

Αν έχουμε μόνο ένα στοιχείο στον πίνακα, τότε first=last=middle=0.
Τότε
 if(p[midle]==num) return midle; δηλαδή   if(p[0]==num) return midle;       

Συγκρίνει το p[0] (που είναι και το μοναδικό στοιχείο του πίνακα ) με τον αριθμό που ψάχνουμε. Αν είναι ίσα τότε επιστρέφει το middle και τερματίζεται η εκτέλεση της συνάρτησης.

Αν δεν είναι ίσα, προχωράει παρακάτω, βλέπει ότι ισχύει (last==first) και επιστρέφει το -1.  Δηλαδή στο if (last==first) φτάνει μόνο όταν δεν βρει το ζητούμενο μετά από προηγούμενη σύγκριση που έγινε.
Logged
Matzika
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1313


my immortality


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #251 on: September 17, 2008, 19:58:47 pm »

ναι ακριβώς!
Logged
furygl
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 99



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #252 on: September 17, 2008, 20:56:27 pm »

Ενα απλο παραδειγματακι γρηγορα για να δουμε την διαφορα μεταξυ κλησης συναρτηησης με τιμη και αναφορα!?
Logged

Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #253 on: September 17, 2008, 21:29:10 pm »

Quote from: furygl on September 17, 2008, 20:56:27 pm
Ενα απλο παραδειγματακι γρηγορα για να δουμε την διαφορα μεταξυ κλησης συναρτηησης με τιμη και αναφορα!?

http://www.thmmy.gr/smf/index.php?topic=23415.msg487832#msg487832
Logged
furygl
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 99



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #254 on: September 17, 2008, 21:58:12 pm »

thx emfa
Logged

Pages: 1 ... 15 16 [17] 18 19 ... 48 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...