• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 12:42:42 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.
June 17, 2025, 12:42:42 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
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]

Πρακτική Άσκηση ΤΗΜΜΥ 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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 60
Guests: 88
Total: 148
dimivage
dimitavram
gkaramp
kzmekos
NickSpan
mhtsakos02
Tserk
ZontanosThrylos
JTS
Pakapis5
anastasimi
panagiot
mpizos
victoria
vajulin
DimKaratzas
mike1996
George_RT
vasillikiiiiii
chaniotism
dkoukn
iJasonOP
Xris
Angelos Asim
superkolios
chrichan
tzortzis
vas22
Fotis Roukoutakis
Joannapet
george14
jimalexoud
Summand
makato
menelaras
ppoug
glavdakis
eplysia
Agnotobouri
kakousios
thomassamaras
Yamal
Filpan10
acolak
kap
programmer2004
agapi
TheBadSalesman
Emilios
Vassoula
Solon
mpaltzak
Nikos_313
idchatzi
Εμφάνιση

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

Νέα!
Για αλλαγή του public name σας, επικοινωνήστε με έναν από τους Admins.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Προγραμματισμός] Εργασία Β 2008
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 5 6 [7] 8 9 Go Down Print
Author Topic: [Δομημένος Προγραμματισμός] Εργασία Β 2008  (Read 18441 times)
difotiad
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 264


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #90 on: April 15, 2008, 23:48:05 pm »

συμφωνω Wanderer.Εχω ξανα το ιδιο προβλημα με την εργασια Α,δλδ μολις δωσω τα πληθη συχνοτητων για Α και Β και στη συνεχεια την καθε μια συχνοτητα για Α και Β αντιστοιχα,κλεινει το πτραθυρο του Run.Εχω βαλει int main() και πριν την τελευταια αγκυλη που κλεινει το int main() εχω βαλει getch() και return=0.Αλλα παλι το παραθυρο χανεται στο ιδιο σημειο της εκτελεσης.Οποιος γνωριζει ας βοηθησει

Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present
fourier
Guest
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #91 on: April 15, 2008, 23:51:52 pm »

Quote from: difotiad on April 15, 2008, 23:48:05 pm
συμφωνω Wanderer.Εχω ξανα το ιδιο προβλημα με την εργασια Α,δλδ μολις δωσω τα πληθη συχνοτητων για Α και Β και στη συνεχεια την καθε μια συχνοτητα για Α και Β αντιστοιχα,κλεινει το πτραθυρο του Run.Εχω βαλει int main() και πριν την τελευταια αγκυλη που κλεινει το int main() εχω βαλει getch() και return=0.Αλλα παλι το παραθυρο χανεται στο ιδιο σημειο της εκτελεσης.Οποιος γνωριζει ας βοηθησει

Δηλωσε στην αρχη μια μεταβλητη int lala.
Στο τελος, πριν το "return 0" βαλε τις εξης σειρες:

Code:
printf("\n\nGrapse ena noumero gia na kleisei to para8yri: ");
scanf("%d",&lala);

Τωρα μολις το προγραμμα σου ολοκληρωθει, το παραθυρο δεν θα κλεισει, γιατι θα περιμενει να γραψεις ενα οποιοδηποτε νουμερο για να το αποθηκευσει στη lala
Wink
Logged
difotiad
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 264


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #92 on: April 15, 2008, 23:52:33 pm »

τα εβαλα αναποδα και διορθωθηκε.Για οποιον του τυχει..
Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present
AgentCain
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3587


Σοφράνο βρίσε, σταβέντο φτύσε!


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #93 on: April 16, 2008, 00:02:59 am »

Quote from: fourier on April 15, 2008, 23:37:55 pm

Κατ' αρχην, θα πρεπει να γινουν <= 50*50=2500 αφαιρεσεις και fabs απο πανω τους, ωστε να αφαιρεθει καθε πιθανη συχνοτητα του Α απο καθε πιθανη του Β. Αυτο δεν ειναι προβλημα, γινεται σε 2 γραμμες.
Το θεμα ειναι, αντε και καναμε την αφαιρεση, αντε και βρηκαμε με καποιον τροπο ποιο απο τα αποτελεσματα εχει τη μικροτερη απολυτη τιμη, μετα πώς θα βρουμε απο ποιων συναρτησεων τη διαφορα δημιουργηθηκε?

Κάθε φορά που θα συγκρίνεις τη διαφορά με την τελευταία ελάχιστη (για να βρεις εν τέλει την τελική ελάχιστη) θα κρατάς σε δύο μεταβλητές τη θέση των αντίστοιχων στοιχείων των πινάκων.
Μετά δεν έχεις παρά να τα εμφανίσεις χρησιμοποιώντας αυτές τις μεταβλητές.  Wink
Logged


Ανάμεσα σ'αυτό που σκέφτομαι, σ'αυτό που θέλω να σας πω, σ'αυτό που πιστεύω ότι σας λέω, σ'αυτό που σας λέω, σ'αυτό που θέλετε να ακούσετε, σ'αυτό που ακούτε, σ'αυτό που πιστεύετε ότι καταλαβαίνετε, σ'αυτό που θέλετε να καταλάβετε και σ'αυτό που καταλαβαίνετε υπάρχουν τουλάχιστον 9 πιθανότητες να μην συννενοηθούμε.

^^DaRk_HunTeR
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2149


0001 0010 0100 0010


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #94 on: April 16, 2008, 00:37:11 am »

Θα εσκαγα αν δεν εβρισκα εναλλακτικη λυση
περα απο το εχ8ρικο προγραμμα του Πασχαλη Tongue
Στη Βεργινα  αποσυντονιστηκα σημερα... (ας με συγχωρεσουν οσοι ηταν παροντες)

οριστε λοιπον:


Code:
#include <stdio.h>
#include <stdlib.h>

int main(){  //o dev dexetai mono int main
    int s,i,d,j,n,m,z,t,x,k=0;
    float a[50],b[50],A[50],B[50],over[50],min,min_A,min_B;
 
   
    printf("dwse to n\n");
    scanf("%d",&n);
    printf("dwse to m\n");
    scanf("%d",&m);
    for(i=0;i<n;i++){
     printf("dwse Stoixeia tou pinaka a: \n");
     scanf("%f",&a[i]);
     }
    for(i=0;i<m;i++){
      printf("dwse Stoixeia tou pinaka b: \n");
      scanf("%f",&b[i]);
      }
    /* for(i=0;i<n;i++)
      printf("o pinakas a: %f\n",a[i]);
     
     for(i=0;i<m;i++)
     printf("o pinakas b: %f\n",b[i]);  */
     
     for (i=0;i<n;i++)
      { for (j=0;j<m;j++)
     { if (a[i]==b[j])
{over[k]=a[i];
k++;
break;}
       }
   }
  printf("oi koines suxnothtes einai:\n");
  for (i=0;i<k;i++)
    printf("%f \n",over[i]);
   
 
  s=d=0;
  for (i=0;i<n;i++)
     {for (j=0;j<k;j++)
       {if(a[i]==over[j])
          s++;   
      }
     if(s==0){
       A[d]=a[i];
       d++;
      }
     else{
         s=0;
      }
   }         
  printf("o neos pinakas tou stathmou a apoteleitai apo ta stoixeia:\n");
  for (i=0;i<d;i++)
   printf ("%f \n",A[i]);
   
   t=x=0;
  for (i=0;i<m;i++)
     {for (j=0;j<k;j++)
       {if(b[i]==over[j])
         t++;
         }
        if(t==0){
          B[x]=b[i];
          x++;
        }
        else{
        t=0;
        }           
   }         
  printf("o neos pinakas tou stathmou b apoteleitai apo ta stoixeia:\n");
  for (i=0;i<x;i++)
   printf ("%f \n",B[i]);
   
  min=abs(A[0]-B[0]); // arxikopoiw ena min gia na mporesei na ektelestei toul mia fora h sugkrish
  min_A=A[0];
  min_B=B[0];
  for(i=0;i<d;i++){
    for(j=0;j<x;j++){
       if(abs(A[i]-B[j])<min)
       { min=abs(A[i]-B[j]);
       min_A=A[i];
       min_B=B[j];
       }
     }
   }   
  printf("h suxnothta tou pinaka A pou elaxistopoiei thn diafora fa-fb einai h: %f\n",min_A);
  printf("h suxnothta tou pinaka B pou elaxistopoiei thn diafora fa-fb einai h: %f\n",min_B);                   
   
  scanf("%d",&z); //gia na mhn me petaei sthn ektelesh
}                     

Δοκιμασα τα νουμερα α0=1 α1=2 α2=8 α3=5
                              b0=1 b1=4 b2=2

Και a0=1 a1=8 a2=25 a3=5
     b0=1 b1=4 b2=20 b3=5

και εδωσε τα αναμενομενα σωστα αποτελεσματα...

(δεν εκανα ελεγχο για το εως 50 γιατι βαριεμαι και δεν εχει και πολυ νοημα ενιγουει)


[P.S]: δεν υπαρχει (c)  Wink
Logged

Without order nothing can exist without chaos nothing can evolve

Timeo hominem unius libri
The minstrel
difotiad
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 264


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #95 on: April 16, 2008, 00:58:24 am »

Quote from: ^^DaRk_HunTeR on April 16, 2008, 00:37:11 am
Θα εσκαγα αν δεν εβρισκα εναλλακτικη λυση
περα απο το εχ8ρικο προγραμμα του Πασχαλη Tongue
Στη Βεργινα  αποσυντονιστηκα σημερα... (ας με συγχωρεσουν οσοι ηταν παροντες)

οριστε λοιπον:


Code:
#include <stdio.h>
#include <stdlib.h>

int main(){  //o dev dexetai mono int main
    int s,i,d,j,n,m,z,t,x,k=0;
    float a[50],b[50],A[50],B[50],over[50],min,min_A,min_B;
 
   
    printf("dwse to n\n");
    scanf("%d",&n);
    printf("dwse to m\n");
    scanf("%d",&m);
    for(i=0;i<n;i++){
     printf("dwse Stoixeia tou pinaka a: \n");
     scanf("%f",&a[i]);
     }
    for(i=0;i<m;i++){
      printf("dwse Stoixeia tou pinaka b: \n");
      scanf("%f",&b[i]);
      }
    /* for(i=0;i<n;i++)
      printf("o pinakas a: %f\n",a[i]);
     
     for(i=0;i<m;i++)
     printf("o pinakas b: %f\n",b[i]);  */
     
     for (i=0;i<n;i++)
      { for (j=0;j<m;j++)
     { if (a[i]==b[j])
{over[k]=a[i];
k++;
break;}
       }
   }
  printf("oi koines suxnothtes einai:\n");
  for (i=0;i<k;i++)
    printf("%f \n",over[i]);
   
 
  s=d=0;
  for (i=0;i<n;i++)
     {for (j=0;j<k;j++)
       {if(a[i]==over[j])
          s++;   
      }
     if(s==0){
       A[d]=a[i];
       d++;
      }
     else{
         s=0;
      }
   }         
  printf("o neos pinakas tou stathmou a apoteleitai apo ta stoixeia:\n");
  for (i=0;i<d;i++)
   printf ("%f \n",A[i]);
   
   t=x=0;
  for (i=0;i<m;i++)
     {for (j=0;j<k;j++)
       {if(b[i]==over[j])
         t++;
         }
        if(t==0){
          B[x]=b[i];
          x++;
        }
        else{
        t=0;
        }           
   }         
  printf("o neos pinakas tou stathmou b apoteleitai apo ta stoixeia:\n");
  for (i=0;i<x;i++)
   printf ("%f \n",B[i]);
   
  min=abs(A[0]-B[0]); // arxikopoiw ena min gia na mporesei na ektelestei toul mia fora h sugkrish
  min_A=A[0];
  min_B=B[0];
  for(i=0;i<d;i++){
    for(j=0;j<x;j++){
       if(abs(A[i]-B[j])<min)
       { min=abs(A[i]-B[j]);
       min_A=A[i];
       min_B=B[j];
       }
     }
   }   
  printf("h suxnothta tou pinaka A pou elaxistopoiei thn diafora fa-fb einai h: %f\n",min_A);
  printf("h suxnothta tou pinaka B pou elaxistopoiei thn diafora fa-fb einai h: %f\n",min_B);                   
   
  scanf("%d",&z); //gia na mhn me petaei sthn ektelesh
}                     

Δοκιμασα τα νουμερα α0=1 α1=2 α2=8 α3=5
                              b0=1 b1=4 b2=2

Και a0=1 a1=8 a2=25 a3=5
     b0=1 b1=4 b2=20 b3=5

και εδωσε τα αναμενομενα σωστα αποτελεσματα...

(δεν εκανα ελεγχο για το εως 50 γιατι βαριεμαι και δεν εχει και πολυ νοημα ενιγουει)


[P.S]: δεν υπαρχει (c)  Wink


φαινονται ολα οκ,απλα εχω μια απορια που προεκυψε απο τον δικο μου κωδικα.Εφοσον η διαφορα a1-b0 ειναι ιδια με  a3-b1 ποιες συχνοτητες θα εμφανιζονται ως αυτες που ελαχιστοποιουν τη διαφορα?
Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present
^^DaRk_HunTeR
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2149


0001 0010 0100 0010


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #96 on: April 16, 2008, 01:25:51 am »

τρεξ' το και δες....

βαζοντας εγω ao=1 a1=2 a2=5 a3=4
                   b0=1 b1=3 b2=6 b3=2

μου εμφανιζει το 5 και το 6  (με δικα του κριτηρια υποθετω Tongue) αντι του 3 και 4
μπορεις να αλλαξεις ευκολα το προγραμματακι ωστε να σου εμφανιζει ολες τις περιπτωσεις με ιδια διαφορα...
διαλεξε και παρε...
Logged

Without order nothing can exist without chaos nothing can evolve

Timeo hominem unius libri
The minstrel
dimvam
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 815



View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #97 on: April 16, 2008, 02:26:57 am »

Quote from: difotiad on April 16, 2008, 00:58:24 am
φαινονται ολα οκ,απλα εχω μια απορια που προεκυψε απο τον δικο μου κωδικα.Εφοσον η διαφορα a1-b0 ειναι ιδια με  a3-b1 ποιες συχνοτητες θα εμφανιζονται ως αυτες που ελαχιστοποιουν τη διαφορα?

Ανάλογα πως γράφεις το πρόγραμμα, με  = ή όχι στο if(...<min) ή if(...<=min).
Αν βάζεις, θα σου βγάλει το τελευταίο κατά σειρά, αλλιώς αυτό που προηγείται.
Με μια μικρή παραλλαγή μπορείς να τροποποιήσεις το πρόγραμμα να βγάζει όλες τις συχνότητες, αλλά δεν ξέρω αν αξίζει τέτοια ώρα!
Logged

Στο μόνο μέρος που βρίσκεις ανθρώπους χωρίς προβλήματα είναι στο νεκροταφείο.
difotiad
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 264


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #98 on: April 16, 2008, 02:31:56 am »

mallon oxi Wink
Logged

The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #99 on: April 16, 2008, 05:00:11 am »

Quote from: difotiad on April 15, 2008, 21:58:59 pm
Quote from: Wanderer on April 15, 2008, 21:04:47 pm
Μια μικρή διόρθωση για την παρατήρηση του Board Rider: έχω την εντύπωση ότι στο loop πρέπει να μπει "από 0 έως z-1", διότι στον κώδικά του ο sarovios αυξάνει στο τέλος του ελέγχου τον z (βλακεία είπα). Sarovios δίνεις ξανά τον τροποποιημένο κώδικα;





@wanderer: αυτα που διεγραψες ειναι το πρωτο πραγμα για το οποιο με διορθωσε ο Κορτεσης σημερα που του εδειξα σε κατι κολλες Α4 τον κωδικα που εχω γραψει.Και μου ειπε π.χ. οτι αν ο over τελικα εχει μονο ενα στοιχειο (προφανως στο over[0]) το z θα εχει γινει 1.Αλλα εχω μπερδευτει λιγο και μου φαινεται οτι κανει λαθος ο Κορτεσης
Σωστά σου είπε  ο Κορτέσης. Δες τον κώδικα που υπολογίζει τον over:


z=0;
        for (i=0 ; i<n ; i++)
        {
            for (j=0 ; j<m ; j++)
           
                if (A[ι]==B[j])
                {    over[z]=A[ι];
                     z++;
                }           
        }

Αρχικά το z είναι μηδέν. Άρα ,αν υποθέσουμε ότι ο over  έχει μόνο ένα στοιχείο τότε θα ισχύσει μόνο μια φορά το if  με αποτέλεσμα :

1. Να αποθηκευτεί η τιμή αυτή στη θέση over[0];
2.Να εκτελεστεί η εντολή z++ ; ,αφού και αυτή ανήκει μέσα στο if. Άρα το z από 0 θα γίνει -> 1. Βέβαια στο over[1] δεν αποθηκεύεται ποτέ τίποτα αφού υποθέσαμε ότι υπάρχει ένα μόνο κοινό στοιχείο.

Γιαυτό βάζουμε κατά την εκτύπωση του over
for (i=0;i<z;i++) ,δλδ στο παράδειγμά μας θα είναι  (i=0;i<1;i++) ,για να εκτυπωθεί μόνο το over[0].

Το ίδιο γίνεται και όταν αποθηκεύονται περισσότερα στοιχεία στον over.
« Last Edit: April 16, 2008, 05:47:01 am by Emfanever » Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #100 on: April 16, 2008, 05:17:22 am »

Quote from: sarovios on April 15, 2008, 21:09:00 pm
Αυτο που εχω γραψει ειναι:
#include <stdio.h>

int main()
{
    float A[50],B[50],over[50];
    int i,j,z,n,m;
   
    printf ("Dose ton aritho ton sixnotiton tis etairias A\n");
    scanf ("%d",&n);
   
    printf ("Dose ton arithmo ton sixnotiton tis etairias B\n");
    scanf ("%d",&m);
   
    for (i=0 ; i<n ; i++)
    {
        printf ("Dose tis sixnotites tis etairias A\n");
        scanf ("%f",&A);
    }
   
        for (j=0 ; j<m ; j++)
        {
            printf ("Dose sixnotites tis etairias B\n");
            scanf ("%f",&B[j]);
        }
       
        z=0;
        for (i=0 ; i<n ; i++)
        {
            for (j=0 ; j<m ; j++)
            {
                if (A==B[j])
                over[z]=A;
                z++;

            }
        }
        printf ("%f",over[z]);
        return 0;
}               
το το τροποπειησα και αντι του τελευταιου printf γραφω

for (i=0 ; i<z ; z++)
        {
            printf("%f",over[ι])
        }
και δημιουργειται το προβλημα που ειπα παραπανω...

1.Πρέπει το z++ να είναι μέσα στο if δηλάδή πρέπει να βάλεις άγκιστρα:

  if (A[ι]==B[j])
   {             over[z]=A[ι];
                z++;
   }

2. και επίσης όπως προαναφέρθηκε γράφεις:
for (i=0;i<z;i++)
     printf ("%f",over[ι]);

Μπορείς όμως να αποφύγεις αυτό το for γράφοντας μέσα στο if:

  if (A[ι]==B[j])
   {             over[z]=A;
                 printf("%f\n",over[z]);
                 z++;
   }
Logged
demP
Ανερχόμενος/Ανερχόμενη
**
Posts: 80


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #101 on: April 16, 2008, 08:18:58 am »

Aς πουμε εχω αυτο εδώ που ζητάω να βαλει τιμες στους πινακες...


Code:
 printf("dwse to n\n");
 scanf("%d",&n);
 printf("dwse to m\n");
 scanf("%d",&m);

 for(i=0;i<n;i++)
     {
     printf("dwse Stoixeia tou pinaka a: \n");
     scanf("%f",&a[i]);
     }
    for(i=0;i<m;i++)
    {
      printf("dwse Stoixeia tou pinaka b: \n");
      scanf("%f",&b[i]);
    }

Θελω να βαλω ενα όριο σε περιπτωση που βαλει καποιος >50 τιμών **

κατι τετοιο ας πουμε..

if ((x>50)||(y>50))
{
   printf("megalo arithmo sixnotitvn\n");
goto a;

Αν θελω να αποφυγω το goto στον code που έδωσα,
πως αλλιως μπορω να το κανω ?
καμια ιδεα?

Προσπαθησα με συνδιασμο while / break; αλλα δεν τα καταφερα.


** Θέλω να παρω καμια ιδεα κυριως να μπω στο νοημα
οκ μπορω με μια printf να του γραψω δωσε μεχρι 50, αλλα
δεν ειναι εκει το θεμα.
Logged
portinos
Καταξιωμένος/Καταξιωμένη
***
Posts: 264



View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #102 on: April 16, 2008, 10:56:59 am »

Καλημέρα. Μπορεί κάποιος να μου πει τι λογικό σφάλμα έχει αυτό το κομμάτι κώδικα γιατί στην εκτέλεση με πετάει έξω ένω στο compilation και το debugging δε μου βγάζει τίποτα. Έχω κουραστεί τόσο που τώρα δε μπορώ να το βρω
g=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            if(A==B[j])
            {
                over[g]=A;
                g++;
            }         
            else
            {
                A=C[k];
                B=D[l];
            }
        }           
    }
    printf("O pinakas over periexei tis koines syxnotites\n");
    for(i=0;i<g;i++)
    printf("%f\n",over);
    printf("O pinakas C periexei tis mi koines syxnotites tou A.\n");
    for(i=0;i<k;i++)
    printf("%f\n",C);
    printf("O pinakas D periexei tis mi koines syxnotitestou B.\n");
    for(i=0;i<l;i++)
    printf("%f\n",D);
Logged
stefos
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1564


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #103 on: April 16, 2008, 11:46:01 am »

Quote from: demP on April 16, 2008, 08:18:58 am

Θελω να βαλω ενα όριο σε περιπτωση που βαλει καποιος >50 τιμών **

κατι τετοιο ας πουμε..

if ((x>50)||(y>50))
{
   printf("megalo arithmo sixnotitvn\n");
goto a;

Αν θελω να αποφυγω το goto στον code που έδωσα,
πως αλλιως μπορω να το κανω ?
καμια ιδεα?

Προσπαθησα με συνδιασμο while / break; αλλα δεν τα καταφερα.


** Θέλω να παρω καμια ιδεα κυριως να μπω στο νοημα
οκ μπορω με μια printf να του γραψω δωσε μεχρι 50, αλλα
δεν ειναι εκει το θεμα.

Μπορείς με ένα loop
do{

}
while(x<0)||(x>50)
να ζητάς μέσα σ'αυτό να σου δώσει τον αριθμό συχνοτήτων μέχρις ότου να σου δώσει αριθμό μέχρι 50.
Logged

done
Wanderer
Καταστραμμένος
********
Gender: Male
Posts: 5230


Othoum Endron Saous


View Profile
Re: [Δομημένος Προγραμματισμός] Εργασία Β 2008
« Reply #104 on: April 16, 2008, 13:07:56 pm »

@demP: Με while/break:

printf("Megisto: 50 theseis\n";
p1=-1;
int check=0;
while(p1<49) {
  printf("Dose %d stoixeio of table A\n",p1+1);
  scanf("%d",A[p1+1]);
  p1++;
  if(p1==49) {
    printf("Oles oi thesis gemisan. Pieste ena pliktro gia synexeia\n";
    getch();
    break;
  }
  printf("Press '1' to give another stoixeio\n");
  check=getch();
  if(check!=1) break;
}
Logged

Preserve and keep us safe this night     *and our innocence made fun of justice*

Once we dreamt of everything
united by our love
There's a place for everyone
so we scream "Liberta"
Pages: 1 ... 5 6 [7] 8 9 Go Up Print
Jump to:  

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