SlideShare a Scribd company logo
1 of 7
Download to read offline
C
3:
.
1.
1.
2.
2.
1.
2. C:
3. C:
4. C: ! – "
#
5. C: $
%#
6. C:
%#
7. C: & !
3. "
1.
2. C:
3. C:
4. C: ! – "
5. C: ! – #
6. C: $
%#
7. C:
%#
8. C: & !
.
A.
1.
1.
« » ! :
• ! (enqueue) , "
• ! (dequeue) ,
enqueue(2)
2
:
• ! " # ! $ !
% & :
• ' ! # ! ! ! # ! (First In – First
Out: FIFO)
enqueue(4)
2 4
4
dequeue( )
enqueue(5)
4
enqueue(3)
4 5
5
3
A.
1.
2. (
' :
• (init)
• $ (enqueue)
• ! (dequeue)
• ! (empty)
• ! (full)
)! " ! :
• ! ( )
• *!" ( ! )
• + "
• !" " ( ! )
A.
2. *!"
1. ,
% ! # " ! ( ) ! :
• - ! N !
• ." (finish) ! "
• (, 0)
/"# C
a[0]
…
a[1] a[2] a[2] a[N-1]
finish=2
4 5 34 5 3
A.
2. *!"
2. )" ! C: "#
& C " :
• (struct) :
• - QUEUE_SIZE
• ." (finish) ! " :
• *! 0…QUEUE_SIZE-1 "
• -1 .
#define QUEUE_SIZE 10 /* Megethos pinaka ouras */
typedef int elem; /* typos dedomenwn ouras */
struct queue{
elem array[QUEUE_SIZE]; /* pinakas stoixeiwn */
int finish; /* telos tis ouras */
};
typedef struct queue QUEUE; /* Sinwnimo tis ouras */
…
finish=2
2 6 4
* ! :
0 1 2 3 QUEUE_SIZE-1
array
A.
2. *!"
3. )" ! C: * !
! " -1
/* QU_init(): arxikopoiei tin oura */
void QU_init(QUEUE *q)
{
q->finish=-1;
}
…
finish=??
0&1:
0 1 2 3 QUEUE_SIZE-1
array
…
finish=-1
0 1 2 3 QUEUE_SIZE-1
array
,'*:
:
• ! ! ! " 2
!
A.
2. *!"
4. )" ! C: -" – + /
!
! ( ! # ), ." ! ." finish
-1 ( N-1)
/* QU_empty(): epistrefei TRUE/FALSE
* analoga me to an i oura einai adeia */
int QU_empty(QUEUE q)
{
return q.finish==-1;
}
/* QU_full(): epistrefei TRUE/FALSE
* analoga me to an i oura einai gemati */
int QU_full(QUEUE q)
{
return q.finish==QUEUE_SIZE-1;
}
5
A.
2. *!"
5. )" ! C: %
"
$ ! # finish+1 ( 2
)
/* QU_enqueue(): Eisagei to x stin oura q
* epistrefei TRUE: se periptwsi epitixias
* FALSE: se periptwsi apotixias */
int QU_enqueue(QUEUE *q,elem x)
{
if (QU_full(*q))
return FALSE;
else
{
q->finish++;
q->array[q->finish]=x;
return TRUE;
}
}
…
finish=2
2 6 4
0 1 2 3 QUEUE_SIZE-1
array
0&1: ,'* (!. . ! «5»):
…
finish=3
2 6 4
0 1 2 3 QEUEUE_SIZE-1
array
A.
2. *!"
6. )" ! C: *! %
#$
( ! # ) :
1. *! ! ( ! 2 )
2. ! " !
3. # finish ( # 1)
…
finish=2
2 6 4
0 1 2 3 QUEUE_SIZE-1
array
0&1:
,'*:
…6 4
0 1 2 3 QUEUE_SIZE-1
array
finish=1
*x=2
A.
2. *!"
6. )" ! C: *! %
##
/* QU_dequeue(): Kanei apomakrinsi tou prwtou stoixeiou tis ouras
* epistrefei TRUE: se periptwsi epitixias
* FALSE: se periptwsi apotixias */
int QU_dequeue(QUEUE *q,elem *x)
{
int i;
if (QU_empty(*q))
return FALSE;
else
{
/* 1. Apothikeysi tou stoixeiou pou eksagetai*/
*x=q->array[0];
/* 2. Aristeri metakinisi twn stoixeiwn kata mia thesi */
for (i=0; i<q->finish; i++)
q->array[i]=q->array[i+1];
/* 3. To finish meiwnetai kata 1 */
q->finish--;
return TRUE;
}
}
A.
2. *!"
7. )" ! C:
#
" " project queue.dev ! :
' queue.h ! ! "
' queue.c #
' main.c ! ! ! .
« » ! # !" " .
)! :
• ' ! ! ! " «/"# C – 14:
, . " ." # »
A.
3. + "
1. + "
#
! ! !
, ! ! .
! ! . " . " "" ." !
." (
). / ! :
enqueue(2)
2
enqueue(4)
2 4
4
dequeue( )
enqueue(5)
4
enqueue(3)
4 5
5
3
start=0
finish=0
start=0 finish=1
start=1
finish=1
start=1 finish=2
start=1 finish=3
start=-1
finish=-1
A.
3. + "
1. + "
#
/ ! ( ) ! ." , ! 2 " !
( ! ! ! )
, " !
3! !" 2 " !
!
" ." ! ! " ( ! ! 1-1 0)
4 5 3
start=1 finish=3
0 1 2 3
array
4 5 6 7
0
array
1
2
34
5
6
7 start=1
finish=3
2 61
start=6finish=0
0 1 2 3
array
4 5 6 7
0
array
1
2
34
5
6
7start=6
finish=1
4
5
3
2
6 1
A.
3. + "
2. )" ! C: "#
#
& C " :
• (struct) :
• - QUEUE_SIZE
• ." (start finish) ! "
( start=finish=-1 ).
#define QUEUE_SIZE 10 /* Megethos pinaka ouras */
typedef int elem; /* typos dedomenwn ouras */
struct queue{
elem array[QUEUE_SIZE]; /* pinakas stoixeiwn */
int start; /* arxi tis ouras */
int finish; /* telos tis ouras */
};
typedef struct queue QUEUE; /* Sinwnimo tis ouras */
* ! : 0
array
1
2
34
5
6
7 start=1
finish=3
4
5
3
A.
3. + "
3. )" ! C: * !
#
! " -1
/* QU_init(): arxikopoiei tin oura */
void QU_init(QUEUE *q)
{
q->start =-1;
q->finish=-1;
}
0&1: ,'*:
0
array
1
2
34
5
6
7
QUEUE_SIZE=8
start=??
finish=??
0
array
1
2
34
5
6
7
QUEUE_SIZE=8
start=-1
finish=-1
A.
3. + "
4. )" ! C: -" – +
#
! ." ! ." start ( ."
finish) -1
• * " ! ( 2 " ! . # !
! ! ! . " ! )
/* QU_empty(): epistrefei TRUE/FALSE
* analoga me to an i oura einai adeia */
int QU_empty(QUEUE q)
{
return q.finish==-1;
}
A.
3. + "
5. )" ! C: -" – /
#!
! ! # ." ! ." finish 1 "
! ." start ( " start==finish+1)
• ! ! ! finish=QUEUE_SIZE-1 ! ! " start==0
* ! ! 4 # :
/* QU_full(): epistrefei TRUE/FALSE
* analoga me to an i oura einai gemati */
int QU_full(QUEUE q)
{
return q.start==(q.finish+1)%QUEUE_SIZE;
}
)! :
• " % ! 2 ! " ! # (/"# C – 4).
• , # ! # " ! ! start !
, 0.
A.
3. + "
6. )" ! C: %
#"
$ ( 2 ) :
• ' finish ! ! ! :
• ' finish+1 ( finish < QUEUE_SIZE-1)
• ' 0 ( finish = QUEUE_SIZE-1)
• ' ! finish.
0&1:
0
array
1
2
34
5
6
7 start=1
finish=3
4
5
3
0
array
1
2
34
5
6
7 start=1
4
5
35
finish=4
QUEUE_SIZE=8
QUEUE_SIZE=8
5
,'* (!. . ! «5»):
A.
3. + "
6. )" ! C: %
$
/* QU_enqueue(): Eisagei to x stin oura q
* epistrefei TRUE: se periptwsi epitixias
* FALSE: se periptwsi apotixias */
int QU_enqueue(QUEUE *q,elem x)
{
if (QU_full(*q))
return FALSE;
else
{
if (QU_empty(*q))
{
q->start=0;
q->finish=0;
}
else
{
q->finish=(q->finish+1)%QUEUE_SIZE;
}
q->array[q->finish]=x;
return TRUE;
}
}
start=1
A.
3. + "
6. )" ! C: *! %
#
( ! # ) ! ( 2 ):
• *! start (# ! 2 )
:
• * start < ! QUEUE_SIZE-1, start=start+1
• * start = QUEUE_SIZE-1 start=0
0&1:
0
array
1
2
34
5
6
7 start=1
finish=3
4
5
3
0
array
1
2
34
5
6
7
5
3
QUEUE_SIZE=8
QUEUE_SIZE=8
5
,'* *x=4
finish=3
A.
3. + "
6. )" ! C: *! %
/* QU_dequeue(): Kanei apomakrinsi tou prwtou stoixeiou tis ouras
* epistrefei TRUE: se periptwsi epitixias
* FALSE: se periptwsi apotixias */
int QU_dequeue(QUEUE *q,elem *x)
{
if (QU_empty(*q))
return FALSE;
else
{
*x=q->array[q->start];
if (q->start == q->finish) /* H oura adeiase */
{
q->start=-1;
q->finish=-1;
}
else
{
q->start=(q->start+1)%QUEUE_SIZE;
}
return TRUE;
}
}
A.
3. + "
7. )" ! C:
" " project circular_queue.dev ! :
' queue.h ! ! "
' queue.c #
' main.c ! ! ! .
« » ! # !" " .
(. *
,2 1: ' ' ! $
+ ! ! ! # " ! $
+ ( ! ) . " # 80 . +
! " 5 ! " . % . " ! !# ! " .
' ! " ! ( ! ! " # ):
52 " . . $ ! !# ! " ! : *
« » ! # , ! , "" # !
. * , ! " .
* # " . ! " ! ! "
! 1 ! " . % !# !#
! ! ! .
' " . 2 , . %
! ! . $ ! ! " .
)! :
• " «! » ! ,
!" .
(. *
,2 2:
! , ! ! !
! ! $ !
( " , " ! ).
- ! " ! « » :
1 ! ! $
! .
( .
! )
+ ! ! " ! ,
! ! # "" " project ! " .
)! :
• " «! » ! ,
!" .
(. *
,2 3: , ! %
" ! .
" !
H ! !# .
,! project ! " # #
.
! ! " main, # ! .
! ! ,1 ! !
! . " .
)! : ! . ( ! !. . ! )
% ! , ! " ! ,
" .
void QU_print(QUEUE *q)
(. *
,2 4: * 2
,! project 2 3, # $ !
"# :
2 ( ! #
" , ! " , . .)
% ! . !
void QU_reverse(QUEUE *q)

More Related Content

What's hot

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
Dimitris Psounis
 

What's hot (20)

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 - ΕΚΤΥΠΩΣΗ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ (ΕΚΤΥΠΩΣΗ)ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 (ΕΚΤΥΠΩΣΗ)
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12 (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12 (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12 (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12 (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΜΑΘΗΜΑ 1.4
 

More from Dimitris Psounis

ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis
 

More from Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32
 
ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31
 
ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30
 
ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35
 
ΠΛΗ10 ΤΕΣΤ 34
ΠΛΗ10 ΤΕΣΤ 34ΠΛΗ10 ΤΕΣΤ 34
ΠΛΗ10 ΤΕΣΤ 34
 

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 (ΕΚΤΥΠΩΣΗ)

  • 1. C 3: . 1. 1. 2. 2. 1. 2. C: 3. C: 4. C: ! – " # 5. C: $ %# 6. C: %# 7. C: & ! 3. " 1. 2. C: 3. C: 4. C: ! – " 5. C: ! – # 6. C: $ %# 7. C: %# 8. C: & ! . A. 1. 1. « » ! : • ! (enqueue) , " • ! (dequeue) , enqueue(2) 2 : • ! " # ! $ ! % & : • ' ! # ! ! ! # ! (First In – First Out: FIFO) enqueue(4) 2 4 4 dequeue( ) enqueue(5) 4 enqueue(3) 4 5 5 3 A. 1. 2. ( ' : • (init) • $ (enqueue) • ! (dequeue) • ! (empty) • ! (full) )! " ! : • ! ( ) • *!" ( ! ) • + " • !" " ( ! )
  • 2. A. 2. *!" 1. , % ! # " ! ( ) ! : • - ! N ! • ." (finish) ! " • (, 0) /"# C a[0] … a[1] a[2] a[2] a[N-1] finish=2 4 5 34 5 3 A. 2. *!" 2. )" ! C: "# & C " : • (struct) : • - QUEUE_SIZE • ." (finish) ! " : • *! 0…QUEUE_SIZE-1 " • -1 . #define QUEUE_SIZE 10 /* Megethos pinaka ouras */ typedef int elem; /* typos dedomenwn ouras */ struct queue{ elem array[QUEUE_SIZE]; /* pinakas stoixeiwn */ int finish; /* telos tis ouras */ }; typedef struct queue QUEUE; /* Sinwnimo tis ouras */ … finish=2 2 6 4 * ! : 0 1 2 3 QUEUE_SIZE-1 array A. 2. *!" 3. )" ! C: * ! ! " -1 /* QU_init(): arxikopoiei tin oura */ void QU_init(QUEUE *q) { q->finish=-1; } … finish=?? 0&1: 0 1 2 3 QUEUE_SIZE-1 array … finish=-1 0 1 2 3 QUEUE_SIZE-1 array ,'*: : • ! ! ! " 2 ! A. 2. *!" 4. )" ! C: -" – + / ! ! ( ! # ), ." ! ." finish -1 ( N-1) /* QU_empty(): epistrefei TRUE/FALSE * analoga me to an i oura einai adeia */ int QU_empty(QUEUE q) { return q.finish==-1; } /* QU_full(): epistrefei TRUE/FALSE * analoga me to an i oura einai gemati */ int QU_full(QUEUE q) { return q.finish==QUEUE_SIZE-1; }
  • 3. 5 A. 2. *!" 5. )" ! C: % " $ ! # finish+1 ( 2 ) /* QU_enqueue(): Eisagei to x stin oura q * epistrefei TRUE: se periptwsi epitixias * FALSE: se periptwsi apotixias */ int QU_enqueue(QUEUE *q,elem x) { if (QU_full(*q)) return FALSE; else { q->finish++; q->array[q->finish]=x; return TRUE; } } … finish=2 2 6 4 0 1 2 3 QUEUE_SIZE-1 array 0&1: ,'* (!. . ! «5»): … finish=3 2 6 4 0 1 2 3 QEUEUE_SIZE-1 array A. 2. *!" 6. )" ! C: *! % #$ ( ! # ) : 1. *! ! ( ! 2 ) 2. ! " ! 3. # finish ( # 1) … finish=2 2 6 4 0 1 2 3 QUEUE_SIZE-1 array 0&1: ,'*: …6 4 0 1 2 3 QUEUE_SIZE-1 array finish=1 *x=2 A. 2. *!" 6. )" ! C: *! % ## /* QU_dequeue(): Kanei apomakrinsi tou prwtou stoixeiou tis ouras * epistrefei TRUE: se periptwsi epitixias * FALSE: se periptwsi apotixias */ int QU_dequeue(QUEUE *q,elem *x) { int i; if (QU_empty(*q)) return FALSE; else { /* 1. Apothikeysi tou stoixeiou pou eksagetai*/ *x=q->array[0]; /* 2. Aristeri metakinisi twn stoixeiwn kata mia thesi */ for (i=0; i<q->finish; i++) q->array[i]=q->array[i+1]; /* 3. To finish meiwnetai kata 1 */ q->finish--; return TRUE; } } A. 2. *!" 7. )" ! C: # " " project queue.dev ! : ' queue.h ! ! " ' queue.c # ' main.c ! ! ! . « » ! # !" " . )! : • ' ! ! ! " «/"# C – 14: , . " ." # »
  • 4. A. 3. + " 1. + " # ! ! ! , ! ! . ! ! . " . " "" ." ! ." ( ). / ! : enqueue(2) 2 enqueue(4) 2 4 4 dequeue( ) enqueue(5) 4 enqueue(3) 4 5 5 3 start=0 finish=0 start=0 finish=1 start=1 finish=1 start=1 finish=2 start=1 finish=3 start=-1 finish=-1 A. 3. + " 1. + " # / ! ( ) ! ." , ! 2 " ! ( ! ! ! ) , " ! 3! !" 2 " ! ! " ." ! ! " ( ! ! 1-1 0) 4 5 3 start=1 finish=3 0 1 2 3 array 4 5 6 7 0 array 1 2 34 5 6 7 start=1 finish=3 2 61 start=6finish=0 0 1 2 3 array 4 5 6 7 0 array 1 2 34 5 6 7start=6 finish=1 4 5 3 2 6 1 A. 3. + " 2. )" ! C: "# # & C " : • (struct) : • - QUEUE_SIZE • ." (start finish) ! " ( start=finish=-1 ). #define QUEUE_SIZE 10 /* Megethos pinaka ouras */ typedef int elem; /* typos dedomenwn ouras */ struct queue{ elem array[QUEUE_SIZE]; /* pinakas stoixeiwn */ int start; /* arxi tis ouras */ int finish; /* telos tis ouras */ }; typedef struct queue QUEUE; /* Sinwnimo tis ouras */ * ! : 0 array 1 2 34 5 6 7 start=1 finish=3 4 5 3 A. 3. + " 3. )" ! C: * ! # ! " -1 /* QU_init(): arxikopoiei tin oura */ void QU_init(QUEUE *q) { q->start =-1; q->finish=-1; } 0&1: ,'*: 0 array 1 2 34 5 6 7 QUEUE_SIZE=8 start=?? finish=?? 0 array 1 2 34 5 6 7 QUEUE_SIZE=8 start=-1 finish=-1
  • 5. A. 3. + " 4. )" ! C: -" – + # ! ." ! ." start ( ." finish) -1 • * " ! ( 2 " ! . # ! ! ! ! . " ! ) /* QU_empty(): epistrefei TRUE/FALSE * analoga me to an i oura einai adeia */ int QU_empty(QUEUE q) { return q.finish==-1; } A. 3. + " 5. )" ! C: -" – / #! ! ! # ." ! ." finish 1 " ! ." start ( " start==finish+1) • ! ! ! finish=QUEUE_SIZE-1 ! ! " start==0 * ! ! 4 # : /* QU_full(): epistrefei TRUE/FALSE * analoga me to an i oura einai gemati */ int QU_full(QUEUE q) { return q.start==(q.finish+1)%QUEUE_SIZE; } )! : • " % ! 2 ! " ! # (/"# C – 4). • , # ! # " ! ! start ! , 0. A. 3. + " 6. )" ! C: % #" $ ( 2 ) : • ' finish ! ! ! : • ' finish+1 ( finish < QUEUE_SIZE-1) • ' 0 ( finish = QUEUE_SIZE-1) • ' ! finish. 0&1: 0 array 1 2 34 5 6 7 start=1 finish=3 4 5 3 0 array 1 2 34 5 6 7 start=1 4 5 35 finish=4 QUEUE_SIZE=8 QUEUE_SIZE=8 5 ,'* (!. . ! «5»): A. 3. + " 6. )" ! C: % $ /* QU_enqueue(): Eisagei to x stin oura q * epistrefei TRUE: se periptwsi epitixias * FALSE: se periptwsi apotixias */ int QU_enqueue(QUEUE *q,elem x) { if (QU_full(*q)) return FALSE; else { if (QU_empty(*q)) { q->start=0; q->finish=0; } else { q->finish=(q->finish+1)%QUEUE_SIZE; } q->array[q->finish]=x; return TRUE; } }
  • 6. start=1 A. 3. + " 6. )" ! C: *! % # ( ! # ) ! ( 2 ): • *! start (# ! 2 ) : • * start < ! QUEUE_SIZE-1, start=start+1 • * start = QUEUE_SIZE-1 start=0 0&1: 0 array 1 2 34 5 6 7 start=1 finish=3 4 5 3 0 array 1 2 34 5 6 7 5 3 QUEUE_SIZE=8 QUEUE_SIZE=8 5 ,'* *x=4 finish=3 A. 3. + " 6. )" ! C: *! % /* QU_dequeue(): Kanei apomakrinsi tou prwtou stoixeiou tis ouras * epistrefei TRUE: se periptwsi epitixias * FALSE: se periptwsi apotixias */ int QU_dequeue(QUEUE *q,elem *x) { if (QU_empty(*q)) return FALSE; else { *x=q->array[q->start]; if (q->start == q->finish) /* H oura adeiase */ { q->start=-1; q->finish=-1; } else { q->start=(q->start+1)%QUEUE_SIZE; } return TRUE; } } A. 3. + " 7. )" ! C: " " project circular_queue.dev ! : ' queue.h ! ! " ' queue.c # ' main.c ! ! ! . « » ! # !" " . (. * ,2 1: ' ' ! $ + ! ! ! # " ! $ + ( ! ) . " # 80 . + ! " 5 ! " . % . " ! !# ! " . ' ! " ! ( ! ! " # ): 52 " . . $ ! !# ! " ! : * « » ! # , ! , "" # ! . * , ! " . * # " . ! " ! ! " ! 1 ! " . % !# !# ! ! ! . ' " . 2 , . % ! ! . $ ! ! " . )! : • " «! » ! , !" .
  • 7. (. * ,2 2: ! , ! ! ! ! ! $ ! ( " , " ! ). - ! " ! « » : 1 ! ! $ ! . ( . ! ) + ! ! " ! , ! ! # "" " project ! " . )! : • " «! » ! , !" . (. * ,2 3: , ! % " ! . " ! H ! !# . ,! project ! " # # . ! ! " main, # ! . ! ! ,1 ! ! ! . " . )! : ! . ( ! !. . ! ) % ! , ! " ! , " . void QU_print(QUEUE *q) (. * ,2 4: * 2 ,! project 2 3, # $ ! "# : 2 ( ! # " , ! " , . .) % ! . ! void QU_reverse(QUEUE *q)