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

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.
August 02, 2025, 14:22:01 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Άδεια ασκήσεως επαγγέλματ...
by The Web
[Today at 13:25:49]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[Today at 09:51:26]

[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 01:40:22]

Οι μπράβοι του πρύτανη
by Διάλεξις
[Today at 01:30:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:04:15]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:59:05]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τι ακούτε αυτήν τη στιγμή...
by Giopan
[July 30, 2025, 17:07:32 pm]

Αποτελέσματα Εξεταστικής ...
by Mr Watson
[July 30, 2025, 14:19:11 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[July 29, 2025, 13:52:51 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Διάλεξις
[July 29, 2025, 01:00:00 am]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427640
Total Topics: 31739
Online Today: 142
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 20
Guests: 85
Total: 105
kkalamar
antwnis
apob
BB
parzival
mprizakias
elio
George_RT
Pakapis5
Captain
stefanos hios
Kwtininatheod
Thanasiscon1
nmpampal
Εμφάνιση

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

Νέα!
Συμβουλές καλής χρήσης του φόρουμ: Youtube embed code and links, Shoutbox, Notify, ...
Δείτε περισσότερα εδώ...
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) >  [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
0 Members and 1 Guest are viewing this topic.
Pages: 1 2 [3] 4 Go Down Print
Author Topic: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13  (Read 6513 times)
EAJ
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 576


Αντιλαμβάνεσαι τις επιλογές σου? Ξανασκέψου το...


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #30 on: September 24, 2013, 19:38:54 pm »

Quote from: airguitar on September 24, 2013, 18:50:49 pm
Στις εργασιες του ο Κορτεσης χρησιμοποιει πολλες φορες την εξης εκφραση στις επαναληψεις με for  :
Code:
 for(k=0;k<m;k++){
    fl=1;
    for(i=0;i<n;i++){
      sum=0;
      for(j=0;j<n;j++)
sum+=sinap[i][j]*state[j];
      if(sum<0)
newstate[i]=-1;
      else
newstate[i]=1;

Ποια ειναι η λογικη του που δεν την καταλαβαινω (π.χ οταν βαζει μεσα στην for μεταβλητη = κατι  στο συγκεκριμενο fl=1)??
 
ΕΥΧΑΡΙΣΤΩ !!

Είναι αρχικοποίηση πιθανότατα μίας βοηθητικής μεταβλητής η οποία θέλει να ξεκινάει από το 1 για κάθε διαφορετικό k. Υποψιάζομαι ότι δεν έχεις γράψει όλες τις εντολές...κάπου πρέπει να χρησιμοποιεί την fl...
Logged

Αν ανατρέξεις στα ποστ μου θα βρεις:
Τη φωνή της επιστήμης, της αλήθειας και της ελευθερίας...

Νόμπελ Οικονομικών
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #31 on: September 24, 2013, 19:41:51 pm »

Code:
#include <stdio.h>
#define NMAX 10
void main()
{
  int i,j,k,n,m,state[NMAX],newstate[NMAX],fl;
  float sinap[NMAX][NMAX],sum;
  printf("Δώστε τον αριθμό των νευρώνων (max %d) = ? ",NMAX);
  scanf("%d",&n);

  for(i=0;i<n;i++){
    printf("Δώστε την κατάσταση του νευρώνα %d = ? ",i+1);
    scanf("%d",&state[i]);
    sinap[i][i]=0;
    for(j=i+1;j<n;j++){
      printf("Δώστε το βάρος της σύναψης του νευρώνα %d με τον νευρώνα %d = ? ",i+1,j+1);
      scanf("%f",&sinap[i][j]);
      sinap[j][i]=sinap[i][j];
    }
  }
  printf("Δώστε τον μέγιστο αριθμό επαναλήψεων για το stable state = ? ");
  scanf("%d",&m);
  for(k=0;k<m;k++){
    fl=1;
    for(i=0;i<n;i++){
      sum=0;
      for(j=0;j<n;j++)
sum+=sinap[i][j]*state[j];
      if(sum<0)
newstate[i]=-1;
      else
newstate[i]=1;
      if(newstate[i]!=state[i])fl=0;
    }
    if(fl)break;
    for(i=0;i<n;i++)
      state[i]=newstate[i];
  }
  if(fl){
    printf("Stable state\n");
    for(i=0;i<n;i++)
      printf("Νευρώνας %d  state = %d \n",i+1,state[i]);
  }
  else{
    printf("State μετά από %d επαναλήψεις\n",k);
    for(i=0;i<n;i++)
      printf("Νευρώνας %d  state = %d \n",i+1,state[i]);
  }
}

εδω ειναι ολος ο κωδικας
Logged
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #32 on: September 24, 2013, 19:42:52 pm »

Quote from: airguitar on September 24, 2013, 18:50:49 pm
Στις εργασιες του ο Κορτεσης χρησιμοποιει πολλες φορες την εξης εκφραση στις επαναληψεις με for  :
Code:
 for(k=0;k<m;k++){
    fl=1;
    for(i=0;i<n;i++){
      sum=0;
      for(j=0;j<n;j++)
sum+=sinap[i][j]*state[j];
      if(sum<0)
newstate[i]=-1;
      else
newstate[i]=1;



Ποια ειναι η λογικη του που δεν την καταλαβαινω (π.χ οταν βαζει μεσα στην for μεταβλητη = κατι  στο συγκεκριμενο fl=1)??
 
ΕΥΧΑΡΙΣΤΩ !!

Θα σου γράψω πρώτα την ισοδύναμη μορφή χωρίς σημαία:
Code:
do{
k=0;
for(i=0; i<n; i++){
sum=0;
for(j=0;j<n;j++)
sum += sinap[i][j]*state[j];
if(sum<0)
newstate[i] = -1;
else
newstate[i] = 1;
}
if(newstate[i]==state[i]){
for(i=0;i<n;i++)
state[i]=newstate[i];
}
k+=1;
}while(newstate[i]==state[i] && k < m); //Λυπάμαι για λάθη, είναι προχειρογραμμένο αλλά πιάνεις το νόημα.

Ρητορική ερώτηση: Ποιο σού φαίνεται καλύτερο;

Υπάρχουν περιπτώσεις που θες να κάνεις μια λούπα, για την οποία χρειάζεσαι 2 συνθήκες:
Έναν μετρητή (γιατί, για παράδειγμα, σαρώνεις τα στοιχεία ενός πίνακα)
Μια επιπλέον συνθήκη, διότι, για κάποιο λόγο μπορεί να υπάρχει κάτι το "περίεργο" στις τιμές του προγράμματος.

Η εντολή for έχει γραφτεί κυρίως για να ελέγχει τις τιμές ενός μετρητή και να κάνει καθορισμένες επαναλήψεις (όχι ότι δεν μπορείς να το αλλάξεις, αλλά συνήθως το προτιμότερο είναι να κάνεις το πρόγραμμα σου κατανοητό, διότι ο άλλος δεν ξέρει περί τίνος πρόκεται και η for έχει δημιουργηθεί για μια συγκεκριμένη κατηγορία επαναλήψεων). Εφόσον λοιπόν θα κάνεις μόνο έναν έλεγχο με τη for, πώς θα γίνει ο άλλος;

Θα γίνει με τη δημιουργία μιας σημαίας. Οι σημαίες είναι μεταβλητές οι οποίες παίρνουν 2 τιμές, οι οποίες αντιστοιχούν στο λογικό ΝΑΙ και λογικό ΟΧΙ (boolean). Αυτό μπορείς να το υλοποιήσεις κάλλιστα με έναν integer, στον οποία θα δίνεις τις τιμές 1 και 0 αντίστοιχα. Ξεκινάς με μια υπόθεση και λες ότι το τάδε γεγονός ισχύει (άρα βάζω στη σημαία την τιμή 1) και εκτελώ κανονικά τις απαιτούμενες λειτουργίες. Εφόσον τελειώνει η μια λούπα ελέγχεις αν ισχύει ακόμα η συνθήκη την οποία έχεις υποθέσει. Αν δεν ισχύει, αλλάζεις τη σημαία σε λογικό 0 και εκτελείς κάποιες απαιτούμενες εντολές (εδώ από ό,τι είδα δεν έχει τέτοιες, απλά αλλάζει την τιμή και τελειώνει). Μετά ουσιαστικά κάνεις έναν ελεγχο για να καθορίσεις αν θα συνεχίσεις τη λούπα, ή αν θα φύγεις. ΤΟ ΚΑΝΕΙΣ ΜΕ ΑΥΤΟΝ ΤΟΝ ΤΡΟΠΟ ΔΙΟΤΙ ΓΙΝΕΤΑΙ ΕΤΣΙ ΠΙΟ ΚΑΤΑΝΟΗΤΟ ΣΤΟΝ ΑΝΑΓΝΩΣΤΗ ΤΟΥ ΚΩΔΙΚΑ ΚΑΙ ΕΠΕΙΔΗ ΕΧΕΙΣ ΜΕΓΙΣΤΟ ΑΡΙΘΜΟ ΕΠΑΝΑΛΗΨΕΩΝ. Όπως ίσως βλέπεις, η αντίστοιχη λούπα με do είναι λίγο πιο δύσκολη στο να καταλάβεις εξ αρχής το πώς και το γιατί (ναι, δεν φαίνεται ακριβώς η διαφορά, αλλά σε μεγάλα προβλήματα θα το έπιανες το νόημα).


Υ.Γ. Ελπίζω να βοήθησα και να σημειωθεί ότι, για ευνόητους λόγους, η χρήση σημαιών δεν είναι πανάκεια.
« Last Edit: September 24, 2013, 20:35:37 pm by c0ndemn3d » Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
EAJ
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 576


Αντιλαμβάνεσαι τις επιλογές σου? Ξανασκέψου το...


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #33 on: September 24, 2013, 19:51:52 pm »

Quote from: airguitar on September 24, 2013, 19:41:51 pm
Code:
#include <stdio.h>
#define NMAX 10
void main()
{
  int i,j,k,n,m,state[NMAX],newstate[NMAX],fl;
  float sinap[NMAX][NMAX],sum;
  printf("Δώστε τον αριθμό των νευρώνων (max %d) = ? ",NMAX);
  scanf("%d",&n);

  for(i=0;i<n;i++){
    printf("Δώστε την κατάσταση του νευρώνα %d = ? ",i+1);
    scanf("%d",&state[i]);
    sinap[i][i]=0;
    for(j=i+1;j<n;j++){
      printf("Δώστε το βάρος της σύναψης του νευρώνα %d με τον νευρώνα %d = ? ",i+1,j+1);
      scanf("%f",&sinap[i][j]);
      sinap[j][i]=sinap[i][j];
    }
  }
  printf("Δώστε τον μέγιστο αριθμό επαναλήψεων για το stable state = ? ");
  scanf("%d",&m);
  for(k=0;k<m;k++){
    fl=1;
    for(i=0;i<n;i++){
      sum=0;
      for(j=0;j<n;j++)
sum+=sinap[i][j]*state[j];
      if(sum<0)
newstate[i]=-1;
      else
newstate[i]=1;
      if(newstate[i]!=state[i])fl=0;
    }
    if(fl)break;
    for(i=0;i<n;i++)
      state[i]=newstate[i];
  }
  if(fl){
    printf("Stable state\n");
    for(i=0;i<n;i++)
      printf("Νευρώνας %d  state = %d \n",i+1,state[i]);
  }
  else{
    printf("State μετά από %d επαναλήψεις\n",k);
    for(i=0;i<n;i++)
      printf("Νευρώνας %d  state = %d \n",i+1,state[i]);
  }
}

εδω ειναι ολος ο κωδικας


To fl είναι βοηθητική μεταβλητή. Τη χρησιμοποιεί για να διακόψει το λουπ και να πάει στο επόμενο k. Παίρνει την τιμή 0 εκεί που έχει την
if(newstate!=state) fl=0;
Το 1 το βάζει έτσι...θα μπορούσε να βάλει οποιοδήποτε μη μηδενικό αριθμό. Οποιοσδήποτε μη μηδενικός αριθμός αντιστοιχεί στο TRUE και μόνο το 0 στο FALSE
if(fl)break;
    for(i=0;i<n;i++)
      state=newstate;
Logged

Αν ανατρέξεις στα ποστ μου θα βρεις:
Τη φωνή της επιστήμης, της αλήθειας και της ελευθερίας...

Νόμπελ Οικονομικών
kleopatra
Νεούλης/Νεούλα
*
Posts: 32



View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #34 on: October 07, 2013, 09:27:28 am »

παιδιά ξέρει κανείς από αρχεία; ο κορτέσης είπε  στο μάθημα του μήπως ότι θέλει σύνταξη δομής για την καταχώρηση πχ νεου πελάτη,νέου σεισμού κτλ?δλδ έτσι να λύσουμε και το θέμα με αρχείο?επίσης ποιος ξέρει ποια τεχνική χρησιμοποιούμε για να βρούμε που ακριβώς θα μετακινήσουμε τον κέρσορα ώστε να βρούμε για παράδειγμα κάποιο μέγιστο κάποιο ελάχιστο κοκ;βρηκα μια εντολή fgetpos(fp,metavliti) fsetpos(fp,metavliti) που κραταει τη θέση του κέρσορα αλλά δν ξέρω κατά πόσο θα θελε αυτή,Κάποιος που γνωρίζει ας απαντήσει σύντομα γτ χανόμαστεεεε!!!!!ευχαριστώ
Logged

eisai ap th brazil eimai ap ta H.M.M.Y Smiley
nikitas350
Καταξιωμένος/Καταξιωμένη
***
Posts: 201



View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #35 on: October 07, 2013, 12:06:41 pm »

Quote from: kleopatra on October 07, 2013, 09:27:28 am
παιδιά ξέρει κανείς από αρχεία; ο κορτέσης είπε  στο μάθημα του μήπως ότι θέλει σύνταξη δομής για την καταχώρηση πχ νεου πελάτη,νέου σεισμού κτλ?δλδ έτσι να λύσουμε και το θέμα με αρχείο?επίσης ποιος ξέρει ποια τεχνική χρησιμοποιούμε για να βρούμε που ακριβώς θα μετακινήσουμε τον κέρσορα ώστε να βρούμε για παράδειγμα κάποιο μέγιστο κάποιο ελάχιστο κοκ;βρηκα μια εντολή fgetpos(fp,metavliti) fsetpos(fp,metavliti) που κραταει τη θέση του κέρσορα αλλά δν ξέρω κατά πόσο θα θελε αυτή,Κάποιος που γνωρίζει ας απαντήσει σύντομα γτ χανόμαστεεεε!!!!!ευχαριστώ

Ναι, στα αρχεία μπορείς να αποθηκεύσεις και να ανακτάς ολόκληρες δομές (υπό την προυπόθεση ότι τα έχεις ανοίξει ως binary). Το "κέρσορα" τον μετακινούμε με την fseek και την θέση του την βλέπουμε με την ftell. (ref: http://www.cplusplus.com/reference/cstdio/fseek/)

Γενικά γνώμη μου είναι να προσπαθήσεις να γράψεις κάποιο μικρό πρόγραμμα με αρχεία για να δεις τι γίνεται, γιατί αλλιώς δεν βγαίνει. Smiley
Logged
Utrion
Ανερχόμενος/Ανερχόμενη
**
Posts: 98


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #36 on: October 07, 2013, 12:11:58 pm »

Μια γρήγορη ερώτηση οτάν λέει χωρίς γενικές μεταβλητες εννοεί χωρίς το define ? Δηλαδή εναν πίνακα θα τον δηλώνουμε
Logged
heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #37 on: October 07, 2013, 12:17:12 pm »

Quote from: Utrion on October 07, 2013, 12:11:58 pm
Μια γρήγορη ερώτηση οτάν λέει χωρίς γενικές μεταβλητες εννοεί χωρίς το define ? Δηλαδή εναν πίνακα θα τον δηλώνουμε

όχι, εννοεί global. και συνήθως δε θέλει χρήση τέτοιων
Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
Utrion
Ανερχόμενος/Ανερχόμενη
**
Posts: 98


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #38 on: October 07, 2013, 12:32:34 pm »

Quote from: ~Irida~ on October 07, 2013, 12:17:12 pm
Quote from: Utrion on October 07, 2013, 12:11:58 pm
Μια γρήγορη ερώτηση οτάν λέει χωρίς γενικές μεταβλητες εννοεί χωρίς το define ? Δηλαδή εναν πίνακα θα τον δηλώνουμε

όχι, εννοεί global. και συνήθως δε θέλει χρήση τέτοιων
ευχαριστώ Smiley άρα define επιτρέπεται Smiley
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #39 on: October 07, 2013, 13:04:16 pm »

Quote from: kleopatra on October 07, 2013, 09:27:28 am
παιδιά ξέρει κανείς από αρχεία; ο κορτέσης είπε  στο μάθημα του μήπως ότι θέλει σύνταξη δομής για την καταχώρηση πχ νεου πελάτη,νέου σεισμού κτλ?δλδ έτσι να λύσουμε και το θέμα με αρχείο?επίσης ποιος ξέρει ποια τεχνική χρησιμοποιούμε για να βρούμε που ακριβώς θα μετακινήσουμε τον κέρσορα ώστε να βρούμε για παράδειγμα κάποιο μέγιστο κάποιο ελάχιστο κοκ;βρηκα μια εντολή fgetpos(fp,metavliti) fsetpos(fp,metavliti) που κραταει τη θέση του κέρσορα αλλά δν ξέρω κατά πόσο θα θελε αυτή,Κάποιος που γνωρίζει ας απαντήσει σύντομα γτ χανόμαστεεεε!!!!!ευχαριστώ
Αν χρησιμοποιεισεις καποια εντολη π δν εχει αναφερει ο κορτεσης δεν στο πιανει για σωστο ν τ θυμασε αυτο
Αν θυμαμε καλα τ παραπανχ π ειπες δεν εχουν ειπωθει στο μαθημα του
Logged
kleopatra
Νεούλης/Νεούλα
*
Posts: 32



View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #40 on: October 07, 2013, 13:29:53 pm »

Quote from: PureForm on October 07, 2013, 13:04:16 pm
Quote from: kleopatra on October 07, 2013, 09:27:28 am
παιδιά ξέρει κανείς από αρχεία; ο κορτέσης είπε  στο μάθημα του μήπως ότι θέλει σύνταξη δομής για την καταχώρηση πχ νεου πελάτη,νέου σεισμού κτλ?δλδ έτσι να λύσουμε και το θέμα με αρχείο?επίσης ποιος ξέρει ποια τεχνική χρησιμοποιούμε για να βρούμε που ακριβώς θα μετακινήσουμε τον κέρσορα ώστε να βρούμε για παράδειγμα κάποιο μέγιστο κάποιο ελάχιστο κοκ;βρηκα μια εντολή fgetpos(fp,metavliti) fsetpos(fp,metavliti) που κραταει τη θέση του κέρσορα αλλά δν ξέρω κατά πόσο θα θελε αυτή,Κάποιος που γνωρίζει ας απαντήσει σύντομα γτ χανόμαστεεεε!!!!!ευχαριστώ
Αν χρησιμοποιεισεις καποια εντολη π δν εχει αναφερει ο κορτεσης δεν στο πιανει για σωστο ν τ θυμασε αυτο
Αν θυμαμε καλα τ παραπανχ π ειπες δεν εχουν ειπωθει στο μαθημα του
ναι κατάλαβα.γενικα η μεθοδολογία που ίσως χρειάζεται είναι η ύπαρξη δομών με μεταβλητές τα επιμέρους στοιχεία του χρήστη του προϊόντος κτλ.Αυτό με βοηθάει στο γεγονός ότι μπορώ να διαβάσω όλα μαζί τα στοιχεία του ενός χρήστη χωρίς να χρειάζεται ενα-ενα αναγκαστικά με fread .μονο όταν θέλω κάτι συγκεκριμένο από τα στοιχεία το κάνω αυτό.επίσης των αριθμό των σειρων του αρχείου μπορώ να τον πάρω από τη διαίρεση ftell(fp)/sizeof(a) όπου a όνομα δομής και να αποθηκεύσω το πλήθος αυτό σε μια μεταβλητή στη main ώστε να το χρησιμοποιώ.Έτσι αν θέλω να βρω κάποιο μέγιστο με μια for(i=0; i<ftell(fp)/sizeof(a); i++) να βρίσκω θέση i που ξεκινάει η γραμμή και διαβάζοντας από κει πάιρνω την τιμή.Σωστά?Αν μπορεί κάποιος ας με διορθώσει γιατι αυτα τα getsize setsize συναρτήσεις που έκανε ο κορτέσης στην επίλυση της άσκησης F 2013μου φάνηκαν λίγο κινέζικα.Η ενεργειακή φοιτήτρια ζητάει την κατανόηση σας στις κοτσάνες  Smiley
Logged

eisai ap th brazil eimai ap ta H.M.M.Y Smiley
nikitas350
Καταξιωμένος/Καταξιωμένη
***
Posts: 201



View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #41 on: October 07, 2013, 15:39:55 pm »

Quote from: kleopatra on October 07, 2013, 13:29:53 pm
Quote from: PureForm on October 07, 2013, 13:04:16 pm
Quote from: kleopatra on October 07, 2013, 09:27:28 am
παιδιά ξέρει κανείς από αρχεία; ο κορτέσης είπε  στο μάθημα του μήπως ότι θέλει σύνταξη δομής για την καταχώρηση πχ νεου πελάτη,νέου σεισμού κτλ?δλδ έτσι να λύσουμε και το θέμα με αρχείο?επίσης ποιος ξέρει ποια τεχνική χρησιμοποιούμε για να βρούμε που ακριβώς θα μετακινήσουμε τον κέρσορα ώστε να βρούμε για παράδειγμα κάποιο μέγιστο κάποιο ελάχιστο κοκ;βρηκα μια εντολή fgetpos(fp,metavliti) fsetpos(fp,metavliti) που κραταει τη θέση του κέρσορα αλλά δν ξέρω κατά πόσο θα θελε αυτή,Κάποιος που γνωρίζει ας απαντήσει σύντομα γτ χανόμαστεεεε!!!!!ευχαριστώ
Αν χρησιμοποιεισεις καποια εντολη π δν εχει αναφερει ο κορτεσης δεν στο πιανει για σωστο ν τ θυμασε αυτο
Αν θυμαμε καλα τ παραπανχ π ειπες δεν εχουν ειπωθει στο μαθημα του
ναι κατάλαβα.γενικα η μεθοδολογία που ίσως χρειάζεται είναι η ύπαρξη δομών με μεταβλητές τα επιμέρους στοιχεία του χρήστη του προϊόντος κτλ.Αυτό με βοηθάει στο γεγονός ότι μπορώ να διαβάσω όλα μαζί τα στοιχεία του ενός χρήστη χωρίς να χρειάζεται ενα-ενα αναγκαστικά με fread .μονο όταν θέλω κάτι συγκεκριμένο από τα στοιχεία το κάνω αυτό.επίσης των αριθμό των σειρων του αρχείου μπορώ να τον πάρω από τη διαίρεση ftell(fp)/sizeof(a) όπου a όνομα δομής και να αποθηκεύσω το πλήθος αυτό σε μια μεταβλητή στη main ώστε να το χρησιμοποιώ.Έτσι αν θέλω να βρω κάποιο μέγιστο με μια for(i=0; i<ftell(fp)/sizeof(a); i++) να βρίσκω θέση i που ξεκινάει η γραμμή και διαβάζοντας από κει πάιρνω την τιμή.Σωστά?Αν μπορεί κάποιος ας με διορθώσει γιατι αυτα τα getsize setsize συναρτήσεις που έκανε ο κορτέσης στην επίλυση της άσκησης F 2013μου φάνηκαν λίγο κινέζικα.Η ενεργειακή φοιτήτρια ζητάει την κατανόηση σας στις κοτσάνες  Smiley

Για να δουλεύεις με δομές σε ένα αρχείο πρέπει να το ανοίξεις ως binary.
+Η fteel σου λέει που βρίσκεσαι. Για να βρείς το "μέγεθος" του αρχείου θα πρέπει να κάνεις

int size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);

(η SEEK_END πλέον μπορεί να μην τρέχει σε όλους τους compiler σωστά, αλλά νομίζω ότι ο κορτέσης την δέχεται)
Logged
heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #42 on: October 07, 2013, 16:55:26 pm »

πότε χρησιμοποιούμε fprintf, fscanf
και πότε fread, fwrite?

διάβασα κάπου ότι οι fread, fwrite είναι για τυχαία προσπέλαση αρχείων
σε συνδυασμό με fseek. αλλά δε το πολυκατάλαβα αυτό. αφού και με τις άλλες 2 δε μπορούμε να κάνουμε τυχαία προσπέλαση με χρήση fseek?

Επίσης θεωρούμε πάντα τυχαίας προσπέλασης αρχεία ή σειριακά ή μας το διευκρινίζει?

edit: οι διαφορές που ρωτάω παραπάνω μήπως έχουν να κάνουν με το buffering κυρίως?  Huh
« Last Edit: October 07, 2013, 16:58:05 pm by ~Irida~ » Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
Fcoriolis
Guest
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #43 on: November 15, 2013, 03:13:33 am »

Την άσκηση με τον Αλγόριθμο αναζήτησης της κινητικής αντίδρασης στερεάς κατάστασης μπόρεσε να τη λύσει κανείς;
Logged
adiaforos
Καταξιωμένος/Καταξιωμένη
***
Posts: 236


View Profile
Re: [Δομημένος Πρ.] Απορίες σε ασκήσεις 12-13
« Reply #44 on: February 05, 2014, 01:55:13 am »

σε ενα αρχειο..,εχοντας περασει τους αριθμους-εγγραφες με το fwrite ,αμα μετα θελησεις να τα ανακτησεις στη main και να τα εκτυπωσεις αρκει μια for και μεσα να εχει το fread η χρειαζεται μεσα στη for να βαλω και την εντολη fseek(fp,sizeof(int),seek_cur)??
δηλαδη αυτο που ρωταω ειναι αν με το fread οταν κανει αναγνωσει τα δεδομενα απο το αρχειο μετακινειται και ο δεικτης στο τελος τησ αναγνωσης η ξανα επανερχεται στην αρχη
Logged
Pages: 1 2 [3] 4 Go Up Print
Jump to:  

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