Upload
gerasimos-j-j-spanakis
View
216
Download
0
Embed Size (px)
Citation preview
8/13/2019 apantiseis_v3
1/138
8/13/2019 apantiseis_v3
2/138
C 3 .
1
1.1 -
.
2
8/13/2019 apantiseis_v3
3/138
C 3
1.2 : ).
4. )100 -
400,
.
http://c.bytes.gr 3
8/13/2019 apantiseis_v3
4/138
C 3 .
1.3
7000, 10%
7000 15000 20% ,
.
1.4 .-
12, 3, 10, 7, 1, 4, 0.
15.
12,10 & 4
3,7 &1. -:
12-3+10-7-1+4=15
0,15
.
4
8/13/2019 apantiseis_v3
5/138
C 3
1.5 :
C .
C .
.
-.
.
1.6 .-
12, 15, 145 -
. ;
12 () -
.
15 (7.5) 145 -(145).
-,
.
http://c.bytes.gr 5
8/13/2019 apantiseis_v3
6/138
C 3 .
2
2.1 a,b, c-
:
main() {
a 5inta,b,c=3;
b 2a=b=2;
c 3a=c+b;
}
2.2 a,b, c-
:
#defineMM 23
main()
{a 6
constintc=3;b 28
inta,b;c 3
a=4+(b=2);
b=c+b+MM;
}
2.3 : (;).#defineMM 23;
main()
{
constintc=3;
(float ...) .
inta,b;
a=2;
floatd;
d=4.3
-(;).
a=4+(b=2);
MM=10;
3=a;
. .
c=c+b+MM;3 .
}c const().
6
8/13/2019 apantiseis_v3
7/138
C 3
2.4 a,b, c:
main()
{
inta,b,c=3;
a=b=2;ab2
a=c>b;
b=b==1;
c=printf("");
a 1 c>b (3>2) .
}
2.5 :
-
.
C (-
).
1 0.
C, , 0.
#define-
.
2.6 a,b, c5,10, 15 ,
(1 , 0 ) -
:
a==(c-b) 1a>b || b>c 0
a==5 && c==15 1a==5 && c>20 0
2.7 3,7, 21 .,-
.
main()
{
inta,b,c;
float mo;
a=3;
b=7;
c=21;
mo=(a+b+c)/3.0;
}
a 1
b 0
c 5
b 0 b==1(2==1) .
c 5, printf() -(5"") .
http://c.bytes.gr 7
8/13/2019 apantiseis_v3
8/138
C 3 .
2.8
.
main()
{
inta,b,c;
float mo;
a=rand();
b=rand();
c=rand();
mo=(a+b+c)/3.0;
}
2.9 :
#include stdio.h
#include
#define12
#defineTWO 78 #define4
main()
{
intc=3,a,b,;
floatc=5.6;
b= ONE + TWO;
a=printf("C ");
c -. !
printf(''); : "".
}
8
8/13/2019 apantiseis_v3
9/138
C 3
3
3.1 ,
, .
#include
#include
main()
{
float a,b,c,mo;
printf(":");
scanf("%f %f %f",&a,&b,&c);
mo=(a+b+c)/3;
printf("%f\n",mo);
}
3.2 ;
main()
{
inta=4,b=5;
charch; 4 5 A 45 654ch='A';5printf("%d %d %c",a,b,ch);
Aprintf("%d %d %d\n",a,b,ch);
printf("%d\n%d \n%c\n",a,b,ch);
printf("\n");
}
pr intf(), -pr intf()
65 ASCII '' ().
3.3
3 -
, , .
-
.
: 6: 2
: 106,2,10 186,2,10 1206,2,10 6
#include
#include
main()
{
float a,b,c,mo,gin,sum;printf(":");
http://c.bytes.gr 9
8/13/2019 apantiseis_v3
10/138
C 3 .
scanf("%f",&a);
printf(":");
scanf("%f",&b);
printf(":");
scanf("%f",&c);
mo=(a+b+c)/3;
gin=a*b*c;
sum=a+b+c;
printf("%f, %f, %f %f\n",a,b,c,sum);
printf("%f, %f, %f %f\n",a,b,c,gin);
printf("%f, %f, %f %f\n",a,b,c,mo);
}
3.4 ;
main()
{inta,b;
floatf;
charch;
printf("%d %d %d\n",sizeofa,sizeoff,sizeofch);
scanf("%d %f %c",&a,&f,&ch);
printf("%d %f %c\n",a,f,ch);
}
pr intf()(bytes) a, fch4, 4 1 .
scanf()()a, fch.
printf()a, fch.
3.5 :
main()
{
inta,b;
scanf("%d %d",&a,&b);
if(a>b)
printf("%d\n",a);else
printf("%d\n",b);
}
scanf()a, b.
H ifa-b. , ab. -
.
10
8/13/2019 apantiseis_v3
11/138
C 3
3.6
.
#include
#include
main(){
inta,b,c,max;
scanf("%d %d %d",&a,&b,&c);
if(a>b)
max=a;
ifmaxa b.
else
max=b;
if(max>c)
printf("%d\n",max);
if maxc. -.else
printf("%d\n",c);
}
3.7 :
scanf()-
.
C -
.
if(a=5).
exit(), .
sizeof..
sizeof(char).
3.8 -
(,) (*)
.
#include
#include
main(){
inta,b;
scanf("%d,*%d",&a,&b);
printf("%d\n",a+b);
, * %dscanf() .
}
3.9
(= 2**, =
*2).
" :".
3.141592.
http://c.bytes.gr 11
8/13/2019 apantiseis_v3
12/138
C 3 .
#include
#include
#definepi 3.141592
main()
{
floataktina,per,emvado;
printf(":");
scanf("%f",&aktina);
per=2*pi*aktina;
emvado=pi*aktina*aktina;
printf("%f %f
%f\n",aktina,per,emvado);
}
3.10
. -(+ ) .
#include
#include
main()
{
floatposo,fpa,synolo;
printf(":");
scanf("%f",&poso);
printf(":");
scanf("%f",&fpa);
synolo=poso+poso*fpa;
printf(": %f\n",synolo);
}
3.11 -
,. -
0.23, 0.70 0.15.
.
#include
#include
main()
{
intplithos;
floatposo=0;
chareidos;
printf(":");
scanf("%d %c",&plithos,&eidos);
if(eidos=='E') poso=plithos*0.23;
12
8/13/2019 apantiseis_v3
13/138
C 3
if(eidos=='A') poso=plithos*0.70;
if(eidos=='T') poso=plithos*0.15;
printf("%f\n",poso);
}
3.12 ()/2
, .
-
. -
.
#include
#include
main()
{
floaty,b,dms;
printf(":");
scanf("%f %f",&y,&b);
dms = b/(y*y);
printf("%f %f : %f\n",y,b,dms);
}
3.13
.
"",
1.3, "".
#include
#include
main()
{
floatlitra,poso,timi_ana_litro;
printf(":");
scanf("%f",&litra);
printf(":");
scanf("%f",&poso);
timi_ana_litro=poso/litra;
if(timi_ana_litro>1.3)
printf("\n");
else
printf("\n");
}
3.14
a b .-
.
#include
http://c.bytes.gr 13
8/13/2019 apantiseis_v3
14/138
C 3 .
#include
main()
{
inta,b,temp;
printf(":");
scanf("%d %d",&a,&b);
printf("a=%d b=%d\n",a,b);
ab.
temp=a;
a=b;
b=temp;
printf("a=%d b=%d\n",a,b); ab.
}
14
8/13/2019 apantiseis_v3
15/138
C 3
4
4.1 x100
. x
. x
x++; 101 100
++x; 101 101
x--; 99 100
--x; 99 99
x-x; 100 0
4.2 ;
main()
{
inta,b,aa,bb,x,y;H a 101x = y = 100;H b 100
a = ++x;H aa 102
b = y++; H bb 101aa = ++x;
bb = y++;
printf("a %d\n",a);
printf("b %d\n",b);
printf("aa %d\n",aa);
printf("bb %d\n",bb);
}
a=++xx1 (101) a++xx(101).
b=y++y 1 (101) by++ y(100).
, aa=++xaa++xx(102).
bb=y++bby++- y(101 y++).
4.3 y100 .xy-
;
x y
x=y; 100 100
x = --y * 4; 396 (99*4) 99
x = y = y++; 100 101
x = y == 100; 1 100
x = y == y++; 0 101
x = y == ++y; 1 101
http://c.bytes.gr 15
8/13/2019 apantiseis_v3
16/138
C 3 .
4.4 :
intx,y,z;
z = 22;
x = 10;
y = 3;
z = (x / y) * y;
xz-
:
x == z xz
x < z xz
x > z xz
if(x==z) printf("x==z");
if(x
8/13/2019 apantiseis_v3
17/138
C 3
4.8 ;
main()0{13
inta,b,c;1
a=5;
b=8;
printf("%d \n%d\n %d\n",a & b, a | b, a && b);
}
5 101 8 1000 bitwise a &ba | b0000 (0) 1101 (13) .
&&(AND) a && b1 () (a b)
(0).
4.9 :
i++i1 ++i.
++ -- .
bitwise AND (&)0,
0.
= .
5/2 int(2).
4.10 x5, y100, a0,
.
xy;
x y
x = y>x || a 1 100 OR (||). x ||a 1 x -(5). y>1 x 1.
x = y | a; 100 100 bitwise OR y (1100100) a (0000000) 1100100 100.
y = x & a; 5 0 bitwise AND x (101) a(000) 000 0.
x = x & y; 4 100 bitwise AND x (0000101) y (1100100) 0000100 4.
x = x | y; 101 100 bitwise OR x (0000101) y (1100100) 1100101 101
x = --x && y || a; 1 100 , AND (&&) OR (||). -x && y (1) (0). 1 ||a . x 1.
http://c.bytes.gr 17
8/13/2019 apantiseis_v3
18/138
C 3 .
4.11 ,
bit :
bit 7,6,5, 4 (16
0 15), bit 3 2 (0-,
1-, 2-, 3-), bit 1
(0-, 1-) bit 0 .
/(116)
(.. ). -
"-
".
#include
#include
main()
{
intar;
intok,simeio,alarm;
printf(":");
scanf("%d",&ar);
simeio=(ar&240)>>4;
alarm=(ar&12)>>2;
bit (7,6,5 & 4) -byte.
ok=(ar&2)>>1;bit (3 & 2) byte.
if(ok==0) bit.{
printf("\n");
exit(1);}
printf(": %d :",simeio+1);
if(alarm==0) printf("OK\n");
if(alarm==1) printf("\n");
if(alarm==2) printf("\n");
if(alarm==3) printf("\n");
}
240 11110000. H bitwise AND arbit 7,6,5,4. 4 -
bit byte -0 15.
12 00001100. H bitwise AND arbit 3 2. 2
bit byte
0 3.
2 00000010. H bitwise AND arbit No 1 ().-
bit byte 1 0.
4.12 -
.
18
8/13/2019 apantiseis_v3
19/138
C 3
#include
#include
main()
{
intar;
printf(":");
scanf("%d",&ar);
ar%2
ar2.0 , -.if(ar%2==0)
printf("%d \n",ar);
else
printf("%d \n",ar);
}
4.13 ,
, -
.
#include
#include
main()
{
intdeyter,ores,lepta,sec;
printf(":");
scanf("%d",&deyter);
ores=deyter/3600;
lepta=(deyter-ores*3600)/ 60;
sec=deyter%60;printf("%d :\n",deyter);
deyter/3600. (deyter-ores*3600) 60 . - 60.
printf("%d %d %d \n",ores,lepta,sec);
}
4.14
.
""
10, "".
#include
#includemain()
{
floatb1,b2,b3,mo;
printf(":");
scanf("%f %f %f",&b1,&b2,&b3);
mo=(b1+b2+b3)/3;.
if(mo>=10)
printf("%f\n",mo); .
else
printf("\n");
}
http://c.bytes.gr 19
8/13/2019 apantiseis_v3
20/138
C 3 .
5
5.1 -
:
, .
(0-9), :"".
.
main()
{
charch;
ch=getch();
if ((ch>='a' && ch='' && ch='0' && ch='a' && ch='' && ch='a' && ch='' && ch='0' && ch='a' && ch='' && ch='' && ch='' && ch
8/13/2019 apantiseis_v3
21/138
C 3
5.3 "",
, .
1-"Hello"
2-2
3-"bye bye"
4-M
:
(1, 2, 3, 4),-
"".
main()
{
charch;
printf("1-Hello\n");
printf("2-2\n");
printf("3-bye bye\n");printf("4-M\n");
printf(":");
ch=getch();
if (ch=='1') printf("Hello\n");
if (ch=='2') printf("2\n");
if (ch=='3') printf("bye bye\n");
if (ch!='1' && ch!='2' && ch!='3' && ch!='4')
printf("");
}
5.4 ;
main()
{
charch,b='A';
NAI-1OXI-2ch='A';
if(ch==b)
printf("NAI-1");
else
printf("OXI-1");
if("A"=='A')
printf("NAI-2");
else
printf("OXI-2");
}
ch==b''.
""=='' "" '' .
.
5.5 :
http://c.bytes.gr 21
8/13/2019 apantiseis_v3
22/138
C 3 .
.
charbyte.
-
.
-.
byte
.
5.6
'a', '*' ' '.
main()
{
printf("a %d\n",'a');
printf("* %d\n",'*');printf("%d\n",' ');
}
5.7
ASCII 80, 125, 192.
main()
{
printf("80 %c\n",80);
printf("125 %c\n",125);
printf("
192
%c\n",192);}
5.8 :
main()
{
charch=68,let='L';a=145 ch=M let=M
int a=2,b=4;
a=ch+let;
ch=++let;
printf("a=%d ch=%c let=%c\n",++a,ch,let);
}
ch+let144 (68 + 76) ASCII 'L' 76.
++letlet177 ASCII ''.
22
8/13/2019 apantiseis_v3
23/138
C 3
5.9 '' "".
'' '' 65 ASCII ''.
"" (
107 ).
5.10 -
ASCII .
#include
#include
main() printf(): ch. %c
, (%d) .
{
charch;
printf(":");
ch=getch();
printf("\n%c ASCII %d\n",ch,ch);
}
5.11
ASCII .
#include
#include
main() printf(): ar. %d , (%c).
{
intar;
printf(":");
scanf("%d",&ar);
printf("%d %c\n",ar,ar);
}
http://c.bytes.gr 23
8/13/2019 apantiseis_v3
24/138
C 3 .
6
6.1 ,-
, -
.
main()
{
floata,b,mo;
scanf("%f %f",&a,&b);
mo=(a+b)/2;
printf("MO=%7.2f\n",mo);
}
6.2 .-
. pow() .
3,141592653589793 #define.
#include
#definepi 3.141592653589793
main()
{
doubler,e;
printf(":");
scanf("%lf",&r);
e=pow(r,2)*pi;printf("%f %f\n",r,e);
}
6.3 ;
main()
{
floatd;5
inta,b;
a=5;
b=6;d=(a+b)/2;
printf("%f\n",d);
}
(a+b)/2int-int.55.5 .
(a+b)/2.0. 2.0float"" float,
.
24
8/13/2019 apantiseis_v3
25/138
C 3
6.4 :
++ --
float. ANSI, -
float.
double-
.
printf()-
.
1+1.0 float.
C .
6.5 -
.
, , .
.. 5.14 2
1.14.
main()
{
floatd,yp;
inta,b;
scanf("%f %d",&d,&a);
b=d/a;
yp=d-b*2;
printf("%f\n",yp);
}
b=d/a, bint-d/a.
6.6
-
.
.
10.50x 2.00==========
21.00
#include
#include
main()
{
floatar1,ar2;
printf(":");
scanf("%f %f",&ar1,&ar2);
printf(" %9.2f\n",ar1);
printf("x%9.2f\n",ar2);
printf("==========\n");
printf(" %9.2f\n",ar1*ar2);
http://c.bytes.gr 25
8/13/2019 apantiseis_v3
26/138
C 3 .
}
6.7
B -
,
.
A B
A B
A B A
A B A B B
#include
#include
#include
, -double.
main()
{
doublea,b,x;
printf(":"); scanf()
%lf(double).
scanf("%lf",&a);printf("B :");
scanf("%lf",&b);
x=(a/(a+b))*(b/(a-b))+pow(a,a+b)/pow(b,a-b);
printf(": %f\n",x);
}
pow() . H pow() math.h(
include) .
26
8/13/2019 apantiseis_v3
27/138
C 3
7
7.1
:
5000, 0.
5000 10000, 5%.
10000 30000, -15%.
30000, 35%.
main()
{
floateis,foros;
printf("
:");scanf("%f",&eis);
if(eis=5000 && eis10000 && eis='A') && (ch
8/13/2019 apantiseis_v3
28/138
C 3 .
7.3
main()
{
inta,b;
a=getch();
b='*';
switch(a)
{
case1:
printf("%c\n",a);
printf("-------\n");
caseb:
printf("%d\n",b);
case-. (b).
break;
case'A':
printf("aaaaaaaaaaa");
break;
case'A'+1:
printf("telos");
case-. (''+1).
break; case:case4
printf("444444444");
}
}
7.4 ;
'B' ()
'' ()
'a'
'*'
main()
{
inta,b;
b=44;
a=getch();
switch(a)
{
case66:
printf("%c\n",a);
printf("-------\n");
case7:
printf("%d\n",b);
break;
case'A':
case'a':
printf("aaaaaaaaaaa");
28
8/13/2019 apantiseis_v3
29/138
C 3
break;
default:
printf("1234567890");
}
}
''(ASCII 66)case 66:
case. -
case-
break,
case 7:.
B-------44
'A' 'a'
case 'A':case 'a':.
aaaaaaaaaaa
'*',case
default:.
1234567890
7.5 '', '','D','*' ''
();
main()
{
inta,b;
charch;
a=ch=getch();if'A','B','C' 'D'
if(ch>=65 && ch
8/13/2019 apantiseis_v3
30/138
C 3 .
''(ASCII 65)case 65:
case.
a66
b(b=++a).b67 (++b).
a=66 b=67 ch=A
'B'(ASCII 66) case 66: default:-
breakcase 66:.
a65 (b=a--) b
(66).b70 (b=a+5).
a=65 b=70 ch=B
'D'(ASCII 68)
default:b73 (b=a+5).
a=68 b=73 ch=D
'*'(ASCII 42),
else if. a b 41(a=b=ch-1).
***41****41******
'', -.
7.6
:
.
"" "" .
4. 100 -
400.
main()
{
intetos;
printf(":");
scanf("%d",&etos);
4. -etos%4 4 (85 ).
if(etos%4 == 0)
{
if(etos%100 == 0)
100 .
{
if(etos%400 == 0)
printf("\n");400,.
else
printf("\n");
}
else
printf("\n");
}
else
{
30
8/13/2019 apantiseis_v3
31/138
C 3
printf("\n");
}
}
7.7 , switch,-
.
->""
2->2
->""
(,2, )
"".
main()
{
inta,b;
charch;
ch=getch();
switch(ch)
{
case'':
printf("\n");
break;
case'2':
printf("2\n");
break;
case'':printf("\n");
break;
default:
printf("\n");
}
}
7.8 :
case-
.switch-case-
if-else if.
if-else if-
switch-case.
a==5a=5.
ifC -
.
7.9 5
10,20, & 50 1 2 . 70 .
http://c.bytes.gr 31
8/13/2019 apantiseis_v3
32/138
C 3 .
(-
) .
.
#include
#include
main()
{
intkafedes,ker_10,ker_20,ker_50,ker_1,ker_2;
intresta;
printf(":");
scanf("%d",&kafedes);
resta=500-kafedes*70;
. 5 500 .
if(resta
8/13/2019 apantiseis_v3
33/138
C 3
#include
#include
main()
{
floatypsos,baros,dms;
printf(":");
scanf("%f %f",&ypsos,&baros);
dms = baros/(ypsos*ypsos);
if(dms=18.5 && dms=25 && dms0)
{
r1=(-b+sqrt(d))/(2*a);
r2=(-b-sqrt(d))/(2*a);
printf("R1=%f R2=%f\n",r1,r2);
}
elseif(d==0)
{
r1=-b/(2*a);
printf("R=%f\n",r1);
}
else
printf("\n");
}
http://c.bytes.gr 33
8/13/2019 apantiseis_v3
34/138
C 3 .
7.12 SMS
:
SMS SMS
10 2
50 1,5
100 1,2 1
SMS , ,
.
#include
#include
main()
{
intsms;
floatposo;
printf("sms :");
scanf("%d",&sms);
if(sms
8/13/2019 apantiseis_v3
35/138
C 3
printf("\n");
else if(pos
8/13/2019 apantiseis_v3
36/138
C 3 .
8
8.1
1 1000.
while...
main()
{
inta,sum;
a=sum=0;
while(a
8/13/2019 apantiseis_v3
37/138
C 3
printf("%d \n",gr);
printf("%d \n",lt);
}
8.3 (27 );
main()
{
charch;
inta,fl=0;
ch=1;
a=0;
while(ch!=27)
{
ch=getch();
if(ch=='*') fl=1;
('*'') fl1.
fl1 ()
a1.
if(fl==1) ++a;
}
printf("%d \n",a);
}
.
(). .:
afgh6*ftg89, 7* -
7 : *ftg89 ).
8.4 ;-num1num2;
main()
{ for100 .inta,num,num1,num2;
num1=num2=0;
for(a=1;a
8/13/2019 apantiseis_v3
38/138
C 3 .
, 100 -.
num1 '' -num2'' (
157 ).
8.5 :
.
(*).
.
. q w e r * s d f g e r * -
()
6 (, s d f g e r).
main(){
charch;
inta,fl=0;
a=0;
while(fl
8/13/2019 apantiseis_v3
39/138
C 3
i10, -
1 10.
8.7 -
32 255.
30 ;
main()
{
inta;
for(a=32;a
8/13/2019 apantiseis_v3
40/138
C 3 .
8.9
. , -
5234 1010001110010.
main()
{
intar,p,yp;
printf(":");
scanf("%d",&ar);
do
{
p=ar/2;
p 2, yp.
yp=ar % 2;
printf("%d",yp);
-0.
ar=p;
}while(p!=0);
putch('\n');
}
86-.
, -. 5234
1010001110010 0100111000101.
12.
8.10 ;
main()
{
inti,j,k=4;
for(i=1;i
8/13/2019 apantiseis_v3
41/138
C 3
8.11 ;
main()
{i=60 j=60 k=6
inti,j=6,k=4;
i=(k=k+2,j=k*10);
printf("i=%d j=%d k=%d\n",i,j,k);
}
k=k+2, j=k*10k=k+2j=k*10(j 60).
(60) i(
153 ).
8.12 ;;-
; ;
main()
{
inta;
do
{
a=rand();
a .
if(a>=100) continue;
100 printf()--.
printf("%d\n",a); -a0.}while(a!=0);
}
100. rand()0. 0.-
100.
8.13
. ,
5234, 14 (5+2+3+4).
main()
{
intar,y,p,sum=0;
printf(":");
scanf("%d",&ar);y-10, p.do
{
y=ar % 10;
p=ar/10;
sum=sum+y;
ar=p;
}while(p!=0);
- ar 0. --ar%10sum.
printf("To %d\n",sum);
}
8.5 162 .
http://c.bytes.gr 41
8/13/2019 apantiseis_v3
42/138
C 3 .
8.14 1
100.
., .., 1 10, 11-
20 ...
main()
{
inti;
for(i=1;imax1)
{
42
max1, -max1max2max1.
8/13/2019 apantiseis_v3
43/138
C 3
max2=max1;
max1=bathmos;
}
elseif(bathmos>max2)
{
max2=bathmos;
max2, -max2.
}
}
}
mo=sum/100;
printf("MO=%5.2f\n",mo);
printf("MAX1=%5.2f\n",max1);
printf("MAX2=%5.2f\n",max2);
}
8.17 f(x)=x
4
-5x
2
+3,-x0 1
0.05.
#include
#include
#include
main()
{
doublefx,x;
for(x=0.0;x
8/13/2019 apantiseis_v3
44/138
C 3 .
#include
#include
main()
{
intposo,sum=0,plithos,max,min;
plithos=0; - maxmin.
printf(":");
scanf("%d",&poso);
sum=sum+poso;
plithos++;
max=min=poso;
while(summax) max=poso;
if(poso
8/13/2019 apantiseis_v3
45/138
C 3
{
r1=(-b+sqrt(d))/(2*a);
r2=(-b-sqrt(d))/(2*a);
0 ,.
printf("a=%d b=%d r1=%f r2=%f\n",a,b,r1,r2);
}
else
printf("a=%d b=%d \n",a,b);
}
}
}
8.21
:
1: .
2: 0 ...
3: .
4: =0, .
5: ,
3.
, -
.
#include
#include
main(){
intm,n,mkd,r,temp;
printf(":");
scanf("%d %d",&m,&n);
if(n>m)
{
temp=m;
m=n;
n=temp;
}
if(n==0)
mkd=m;
else
{
do
{
r=m%n;
if(r!=0)
{
m=n;
n=r;
}
http://c.bytes.gr 45
8/13/2019 apantiseis_v3
46/138
C 3 .
}while(r!=0);
mkd=n;
}
printf("%d\n",mkd);
}
46
8/13/2019 apantiseis_v3
47/138
C 3
9
9.1 :
main()
{
doublex,y;
printf("*************\n");
scanf() xy. double %lf%f :scanf("%lf %lf",&x,&y);
scanf("%f %f",x,y);
printf("mo=%f\n",mo(x,y));m() int, int double xy.
}
floatmo(inta, intb);
{
if(a==0 && b==0)-. -
int, main()(181 ).
{
return0;
}
else
{
floatmesos;
mesos=(a+b)/2.0;
}
returnmesos;
mesos. mesos else.
}
9.2 :
.
1,.
2,.
3,.
1, 2, 3,""
1.
.
floatcalc(inta, floatb, floatc) intswitch ( 128 ).
{
switch(a)
{
case1:
returnb+c;
break;case2:
http://c.bytes.gr 47
8/13/2019 apantiseis_v3
48/138
C 3 .
returnb*c;
break;
case3:
return(b+c)/2;
break;
default:
printf("\n");
exit(1);
}
}
9.3 total()-
1
. , total(1250)
1 1250.
inttotal(intar){
inti,sum=0;
for(i=1;i='A' && ch
8/13/2019 apantiseis_v3
49/138
C 3
9.5 "-
C".
voidprint_it1()
{ print_it1() "C" 10 .int i;
for(i=1;i
8/13/2019 apantiseis_v3
50/138
C 3 .
p=calc(1000)*2;
printf("=%f\n",p);
}
doublecalc(intar)
{
inti;
doublep1;
p1=1.0;
for(i=2;i
8/13/2019 apantiseis_v3
51/138
C 3
return1;
}
else
return0;;
}
9.9 ()/2,
.
:
18.5
18.5 25
25 30
30
, -
(..).
0 .
.-
.
#include
#include
floatdms(floaty, floatb);
voiddisplay(floatd);
main()
{floatypsos,baros;
do
{
printf(":");
scanf("%f %f",&ypsos,&baros);
if(ypsos==0 || baros==0) break;
display(dms(ypsos,baros));
}while(1); display() - dms().
}
floatdms(floaty, floatb)
{
floatd;
d = b/(y*y);
returnd;
}
voiddisplay(floatd)
{
if(d=18.5 && d
8/13/2019 apantiseis_v3
52/138
C 3 .
printf("\n");
elseif(d>=25 && d
8/13/2019 apantiseis_v3
53/138
C 3
main()
{
inti,kat_fpa,plithos;
floattimi,synoliko_kostos=0,synoliko_fpa=0,poso,poso_fpa;
for(i=1;i
8/13/2019 apantiseis_v3
54/138
C 3 .
10
10.1 ;
.
voidset();
floata;
floatmo();
intx,y;
a,x,ymain()
{
x,yintx,y;
x=y=4;
set();
a=mo(x,y);pp();
}
voidset()
{
intaa;
x=10;
y=20;
}
pp()
{
intx,y;
printf("a=%f\n",a);
}
floatmo(intk,intl)
{
floatmesos;
mesos=(k+l)/2.0;
returnmesos;
}
k,l,mesos
x,y
aa
set()xy10 20.
a4 xymo()xy4 4 .
a=4
54
8/13/2019 apantiseis_v3
55/138
C 3
10.2 ;()
.
voiddisp();
intstep; stepmain()
{
step=2;
disp();
}
voiddisp()
{
inta,b;
printf("\n");
a=get();
b=get();
if(a==0 && b==0)
exit(0);
else
{
inti;
for(i=a;i
8/13/2019 apantiseis_v3
56/138
C 3 .
10.3 :
intstep;
main()
{
step=2;
disp(4);
}
voiddisp(st)
-
st. disp()int, main() (181 ).
{
inta,b,c;
printf("\n");
a=get();
c=x;
b=get();
if(a==0 && b==0)
x disp(). H x get().
exit(0);
else
{
inti;
for(i=a;i
8/13/2019 apantiseis_v3
57/138
C 3
10.4 ;
.
voidout();d,eintd,e;
main()
{
m,n,jintm=2,n=3,j;
j=func1(m,n);
func2(j);
out(m,n,4);
}
func1(intx, inty)
{
d=12;
returnx+y;
}
func2(intd)
{
d=20;
e=d;
}
voidout(inta, intb, intc)
{printf("a=%d b=%d\n",a,b);
printf("c=%d d=%d e=%d\n",c,d,e);
}
a,b,c
func2() e20.
out(m,n,4)2,34 a,bc.out()
d e 12 20 .
a=2 b=3c=4 d=12 e=20
dfunc2()-d.
http://c.bytes.gr 57
8/13/2019 apantiseis_v3
58/138
C 3 .
10.5 ;
intx=10;
voidout1();
voidout2();
voidout3();
main() out1() (5,6,7 ....). out1(), 4.
{
inti;
for(i=1;i
8/13/2019 apantiseis_v3
59/138
C 3
10.7 :
-
.
-
.
.
for.
, , -
.
10.8 .
(8.7).
. .
#include
#include
main() next_first() .
{
inti;
for(i=1;i
8/13/2019 apantiseis_v3
60/138
C 3 .
10.9
. .
#include
#include num-.
intnum=0;main()
{
inti;
for(i=1;i
8/13/2019 apantiseis_v3
61/138
C 3
returnx+y;
}
intgin()
{
returnx*y;
}
voidout()
{
printf("=%d\n",aa);
printf("=%d\n",gg);
}
10.11 -
; .
!-
.
-
.-
-
.
10.12
--
() (
). , -
.
-
1 -
0 -
. ,
-
.
aaaaaaaaa aa aa aa aa aaaaaaaaa
****************
****
#include
#include
voidplaisio(intyps, intpl, charch, intfill);
main()
{
plaisio(7,8,'a',0);
printf("\n");plaisio(5,4,'*',1);
http://c.bytes.gr 61
8/13/2019 apantiseis_v3
62/138
C 3 .
}
voidplaisio(intyps, intpl, charch, intfill)
{
inti, j;
for(i=1; i
8/13/2019 apantiseis_v3
63/138
C 3
10.14 :
voiddo_it(charch, inty)
{
inti;
for(i=1;i
8/13/2019 apantiseis_v3
64/138
C 3 .
11
11.1 a,b, c-
:
main()
{
inta,b,c,*m,*p;
a=100;
b=50;
m=&a;
p=&b;
c=*p + *m;
(*p)++;
p=m;
(*p)--;}
11.2 ;
main(){
char*p;
inta=5,b=10;
p="a,b=%d,%d\n";
printf(p,a,b);
}
,
printf(p,a,b);
printf(p+4,a,b);
a 99
b 51
c 150
H c150 (100+50) *pa*mb.
mapb.
H 1 '' p ( b)., b101.
p
m a. '' a. H(*p)-- a1.
64
8/13/2019 apantiseis_v3
65/138
C 3
11.3 :
main()
{
char*p;
p="";
.......
}
,
"-
".
main()
{
char*p,ch;
int ar=0;
p="";
-
p'' '\0'.ch=getch();
while(*p!='\0')
{
if(*p==ch) ar++;
ar'' -ch.
p++;
} p .
printf("To %c %d \n",ch,ar);
}
p-"".''-.
' -'\0'.
11.4 ;
main()
{
char*p; p="";while(*p!='\0')
{
if(*p==' ')
putch('\n');p'' - , 'p.
else
putch(*p);
p++;
} p .
}
http://c.bytes.gr 65
8/13/2019 apantiseis_v3
66/138
C 3 .
11.5 :
main()
{
inta,b,c,*p1,*p2,*p3;
p1=&a;
p2=&b;
p3=&c;
.......
}
,scanf(),
ab, -
ab,c, -
c. ,
a,b, c.
main(){
inta,b,c,*p1,*p2,*p3;
p1=&a;
p2=&b;
p3=&c;
scanf("%d %d",p1,p2);
p1p2-ab.
*p3c, *p1 a , *p2 b. c=a+b;
*p3=*p1 + *p2;
printf("c %d\n",*p3);
}
11.6 , -
:
inta,b,c,*p,*m;
p=&a p a
*p=23 p (a) 23.
m=&b m b
c=*p + *mp (a) m (b) -c.
m=p m p. m p '' a.
p++ p 4! (226 ).
(*p)++ '' p (-a) 1. a++;
m=120 . -.
66
8/13/2019 apantiseis_v3
67/138
C 3
11.7 ;
main()
{
char*p,*m;
p="";p '' '\0'.
m=p;
while(*p!='\0') p++;
--p;
while(p>=m) putch(*(p--)); p .
}
:
.
.
m'' -, p.
11.8
:
inta,b,c=0,*ptr,*m;
a=b=10;
1 ptr=&a;
ptra(1000).
*ptr=34;
2 m=&b;
ptr(a) -34.
3 c=*ptr + *m;mb(3000).
ptr=m;
4 *ptr=100;c=a+b;c44
5 m++;H ptrb. b=100;
mint, 4.
http://c.bytes.gr 67
8/13/2019 apantiseis_v3
68/138
C 3 .
11.9 :
.
* -
.
++ , -1.
.
charint-
.
C - -
.
11.10 ;
#include#include
main()-.
{
char*ptr;
ptr="C ";
printf("%d\n",space(ptr));
}
intspace(char*p) space() p. -4 .
{
intc=0;
while(*p != '\0')
{
if(*p == ' ') c++;
p++;
}
returnc;
}
11.11
(0~9)
.
intdigits(char*p)
{
intc=0; (0 9).
while(*p != '\0')
{
if(*p >='0' && *p
8/13/2019 apantiseis_v3
69/138
C 3
11.12 ;
intis_same(char*p1, char*p2)
{
intyes=1;
do
{
if(*p1!=*p2) yes=0;
}while(*(p1++) != '\0' && *(p2++)!='\0');
returnyes;
}
.
1
0.
, is_same()-
:
main()
{
printf("%d\n",is_same("",""));
printf("%d\n",is_same("",""));
}
1 0 .
http://c.bytes.gr 69
8/13/2019 apantiseis_v3
70/138
C 3 .
12
12.1 lexi1lexi2
gets() :
main()
{
charlexi1[80], lexi2[80];
gets(lexi1);
gets(lexi2);
}
.
lexi1-lexi2.
lexi2-lexi1. 0 , , -
lexi1
lexi2.
//
voidcommon(charpin1[], charpin2[])
{
charkoina[80]="";O koina[] .
int i,j,k,found;
for(i=0;i
8/13/2019 apantiseis_v3
71/138
C 3
koina[],
.
.
//
voiddel(charpin1[],charpin2[])
{
int i,j,k;
for(i=0;i
8/13/2019 apantiseis_v3
72/138
C 3 .
}
return0;
}
pin1[] pin2[]
pin1[]... pin1[5]pin1[5] pin2[0], pin1[6] pin2[1], pin1[7]
pin2[2].., pin2[].
-pin2[]pin1[].
12.2 convert()-
.-
:
intconvert(char*str, intsel)
H strchar-. sel
:
sel1, .
sel0, .
.
intconvert(char*str, intsel)
{
intcnt=0;
H cnt'' .
while(*str!='\0')
{
if(*str>='a' && *str='A' && *str
8/13/2019 apantiseis_v3
73/138
C 3
while((str1[i] != '\0') && (i
8/13/2019 apantiseis_v3
74/138
C 3 .
pr intf()func1()'' -''.
func2(a) -a. : ""
func2()a[5].: ""
func3()a-5. a[4]
a[0]: "".
func3()a+3-2.
a+3a[4]a[3]:
"".
charfunc1(charp)
{
returnp+1;
}
voidfunc2(char*p)
{
puts(p);
}
voidfunc3(char*p, intnum){
inti;
for(i=num-1; i>=0; i--) putch(p[i]);
putch('\n');
}
12.6 ;
intfunc5(char*p,charch);
char*func6(char*p, charch);
main(){
chara[10], *ptr;
strcopy(a,"BENETIA");
printf("RES1=%d\n",func5(a,''));
printf("RES2=%d\n",func5(a+5,''));
ptr=func6(a,'');
if(ptr!=NULL) printf("%c a\n",*ptr);
}
intfunc5(char*p,charch)
{
a
a[0]
a[1] a[2]
a[3]
a[4]
a[5]
a[6]
a[7] \0
a[8]
a[9]
func1() . .func1('A')''.
func2() p'\0'.
func3() p, num. .func3("",5)"".
func5()
. ch-.
74
8/13/2019 apantiseis_v3
75/138
C 3
inti=0,cnt=0;
while(p[i] != '\0')
{
if(p[i] == ch) cnt++;
i++;
}
returncnt;
}
char*func6(char*p, charch)
{
inti=0;
while(p[i] != '\0')
{
if(p[i] == ch) return &p[i];
i++;}
returnNULL;
}
func5(a,'') 2-''
a[].
func5(a+5,'') 0''
a[5]a[].
func6(a,'I') 'I' (a[5])). H
pt rNULL.*ptr
pt r.
12.7 a,
:
func4(a,a+6);
................
voidfunc4(char*p1, char*p2)
{charch;
while(p1
8/13/2019 apantiseis_v3
76/138
C 3 .
' . p11
'' a, p2 1
'' .
... p1
8/13/2019 apantiseis_v3
77/138
C 3
12.10 100 ,
, .
main()
{
intpin[100],i,sum=0;
for(i=0;ii.
-, a[i][j]i==j.
http://c.bytes.gr 77
8/13/2019 apantiseis_v3
78/138
C 3 .
() .-() .-
.
12.13 a:main()
{
inta[6][6]; 2 2 2 2 2 0
2 2 2 2 0 1
2 2 2 0 1 1
2 2 0 1 1 1
2 0 1 1 1 1
0 1 1 1 1 1
inti,j;
for(i=0;i
8/13/2019 apantiseis_v3
79/138
C 3
12.15 int a[100][20]-
(100
).
main()
{
inta[100][20],max;
inti,j;
...........
for(i=0;i
8/13/2019 apantiseis_v3
80/138
C 3 .
{
charonomata[10][20],ch;
inti;
for(i=0;i
8/13/2019 apantiseis_v3
81/138
C 3
12.19
9,5, -
18,5.
503
. -
-, .
#include
#include
main()
{
intb[50][3],i,j,pl_ap=0,pl_ar=0;
floatsum,mo;
50 3.
for(i=0;i
8/13/2019 apantiseis_v3
82/138
C 3 .
-
.
#include
#include define PLHTHOS
.#definePLHTHOS 100
voiddisplay_synolo_paravaseon(charak[][10], intpr[][12],intsp[]);
voiddisplay_10_top(charak[][10], intsp[]);
voiddisplay_minimum(charak[][10], intsp[]);
main()
{
charar_kykl[PLHTHOS][10];
intpar[PLHTHOS][12],syn_par[PLHTHOS],i,j;
ar_kykl ( .. 3456). parsyn_par--.for(i=0;i
8/13/2019 apantiseis_v3
83/138
C 3
sp[i]=sum;
printf("%10s %5d\n",ak[i],sum);
- sp .
}
}
voiddisplay_10_top(charak[][10], intsp[])
{
inti;
printf("\nTOP-10\n\n");
printf("- \n");
printf("---------- -----\n");
-- 10,. -.
for(i=0;i10) printf("%10s %5d\n",ak[i],sp[i]);
}
}
voiddisplay_minimum(charak[][10], intsp[])
{
inti,min;
printf("\nMinimum \n\n");
printf("-. \n");
printf("---------- -----\n");
min.
min=sp[0];
for(i=0;i
8/13/2019 apantiseis_v3
84/138
C 3 .
scanf("%d",&xreosi[i][j]); xreosi.
}
}
max=xreosi[0][0];
for(i=0;i
8/13/2019 apantiseis_v3
85/138
C 3
printf("%d:%s\n",i+1,theseis[i]);
}
}
intis_on_board(charth[][20],charonom[],intpl)
{
inti,found=0;
for(i=0;i
8/13/2019 apantiseis_v3
86/138
C 3 .
}
}
voidcommon_once(char*s1,char*s2)
{
inti,j,k,ls1,ls2,found;
ls1=strlen(s1);
ls2=strlen(s2);
for(i=0;i
8/13/2019 apantiseis_v3
87/138
C 3
main()
{
charfraseis[20][40],*pt,lex[10];
inti;
for(i=0;i
8/13/2019 apantiseis_v3
88/138
C 3 .
13
13.1
(, , ,
, )..
structcars cars . -.
{
charar_kykl[8];
charxroma[15];
charmarka[15];
intkybika;
intipodynami;
};
mycarcars.main()
{
structcarsmycar;
printf(":");
gets(mycar.ar_kykl); mycar.printf(":");
gets(mycar.xroma);
printf(":");
gets(mycar.marka);
printf(":");scanf("%d",&mycar.kybika);
printf(":");
scanf("%d",&mycar.ipodynami);
}
13.2
100 (, , -
, , ).
. -
.
structcars
{
charar_kykl[8];
charxroma[15];
charmarka[15];
intkybika;
intipodynami;
};
88
8/13/2019 apantiseis_v3
89/138
C 3
main()
{
structcarsmycars[100]; mycars100 .
int i;
for(i=0;i
8/13/2019 apantiseis_v3
90/138
C 3 .
{
if(pin[i].ilikia>max)i - (max), max.
max=pin[i].ilikia;
}
returnmax;
}
13.5 :
enumdays {mon,tue,wed,thu,fri,sat,sun} birth_day,today;
typedef intmeres;
main()
{
meresa,b;
daysmy_date;
a=1;
my_date=mon;wed=5;
web.
meres=23;
today=3;
meres .
birth_day=fri;
}
13.6 :
.
enum
enum.
-
>.
, -
.
,
= .
, filos=pelatis-
pelatisfilos.
13.7
: , ,
'' , '' -
.
, 50 . -
: ,
(x )
.
#include
90
8/13/2019 apantiseis_v3
91/138
C 3
#includeAR.#defineAR 50
metoxi -.structmetoxi
{
charonoma[10];
intposotita;
floattimi;
chareidos;
};
main()
{
structmetoxikiniseis[AR];
kiniseis, metoxi, AR (50) .
syn_axia-
.syn_asyn_b.
floatsyn_axia;inti,syn_a,syn_p;
for(i=0;i
8/13/2019 apantiseis_v3
92/138
C 3 .
13.8 10 -
.
: ,
. :
-.
.
. 80%
.
#include
#include
AR.
#defineAR 10
ptisi-.
structptisi
{
intar_ptisis;
inttheseis;
intepibates;
};
main()
{
structptisiptiseis[AR];
ptiseis, ptisi, AR(10) .
inti,syn_epibaton,plirotita;
syn_epibaton-
. plirotita.
for(i=0;i
8/13/2019 apantiseis_v3
93/138
C 3
printf("= %d\n",syn_epibaton);
printf("= %d\n",plirotita);
}
13.9 15
-.
(.. 1,3, ...1), -
.
tmimatatmima. -
, -
mathites
math, -
.
25 . --
ar_mat.
,
.
structmath{
chareponymo[30];charonoma[20];floatbathmos;intilikia;
};
structtmima{
chartitlos[3];intar_mat;structmath mathites[25];
} tmimata[15];
#includeAR.
#include
#defineAR 15
structmath{
chareponymo[30];
charonoma[20];
floatbathmos;
intilikia;
};
structtmima
{
chartitlos[3];
intar_mat;
structmathmathites[25]; tmimata 15 .} tmimata[15];
main()
{
inti,j;
for(i=0;i
8/13/2019 apantiseis_v3
94/138
C 3 .
gets(tmimata[i].titlos);
printf(":");
scanf("%d",&tmimata[i].ar_mat);
tmimata().
getchar();
printf("\n%d \n",tmimata[i].ar_mat);
printf("===================================\n");
for(j=0;j
8/13/2019 apantiseis_v3
95/138
C 3
for(i=0;i
8/13/2019 apantiseis_v3
96/138
C 3 .
14
14.1
arithmoi1
100.arithmoi- (.332 ).
main()
{
FILE*fp;
int i;
if((fp=fopen("arithmoi","w")) == NULL)
{
puts("");
exit(2);
}
for(i=1;i
8/13/2019 apantiseis_v3
97/138
C 3
14.3
outputint a[100].-
.
intappend(intpin[])
{
FILE*fp;
int i;
if((fp=fopen("output","a")) == NULL)
return0;
for(i=0;imax_ar) max_ar=ar;
if(ar
8/13/2019 apantiseis_v3
98/138
C 3 .
14.5
data
.
.
data
10 19 2011 19 148 12 1119 18 15.............
main()
{
FILE*fp;
float ar1,ar2,ar3,mo;
.
if((fp=fopen("data","r")) == NULL)
{
puts("");
exit(2);, - .
}
while(!feof(fp))
{
fscanf(fp,"%f %f %f",&ar1,&ar2,&ar3);
mo=(ar1+ar2+ar3)/3;
printf("mo=%f\n",mo); ar1, ar2ar3.
}
fclose(fp);
}
14.6 sxoleio-
14.3 .
.
.
structstoixeia
{
chareponymo[30];
chartaxi[5];mathitis . kaliteros
. max_mo . 0.
floatmesos_oros;
intilikia;
};main()
{
FILE*fp;
struct stoixeia mathitis,kaliteros;
float max_mo=0.0;
fp=fopen("sxoleio","rb");
while(!feof(fp))
{
fread(&mathitis,sizeof(struct stoixeia),1,fp);
mathitis (14.5 . 352 ).
if(mathitis.mesos_oros>max_mo)
{
98
8/13/2019 apantiseis_v3
99/138
C 3
max_mo=mathitis.mesos_oros;
kaliteros=mathitis;
}
}
fclose(fp);
printf("\n");
(max_mo) -kaliteros.
printf(":%s\n",kaliteros.eponymo);
printf(":%s\n",kaliteros.taxi);
printf(":%f\n",kaliteros.mesos_oros);
printf(":%d\n",kaliteros.ilikia);
}
-mathitis.
feof(fp).
, kaliteros.
14.7 sxoleio-
14.3.
15.
structstoixeia
{
chareponymo[30];
chartaxi[5];
floatmesos_oros;intilikia;
};
main()
{
FILE*fp;
struct stoixeia mathitis;
fp=fopen("sxoleio","rb");
fseek(fp,14*sizeof(struct stoixeia),0);
H fseek() 15(343 ).
fread(&mathitis,sizeof(struct stoixeia),1,fp);
fclose(fp);
printf("15");
printf(":%s\n",mathitis.eponymo);
printf(":%s\n", mathitis.taxi);
printf(":%f\n", mathitis.mesos_oros);
15 mathitis.
printf(":%d\n", mathitis.ilikia);
}
14.8 sxoleio-
14.3.15-
.
.structstoixeia
http://c.bytes.gr 99
8/13/2019 apantiseis_v3
100/138
C 3 .
{
chareponymo[30];
chartaxi[5];
floatmesos_oros;
intilikia;
};
main()
{
FILE*fp;
struct stoixeia mathitis;
fp=fopen("sxoleio","rb+");
fseek(fp,14*sizeof(struct stoixeia),0);
printf(":");
scanf("%s",mathitis.eponymo);
printf(":");
scanf("%s",mathitis.taxi);
printf(":");
scanf("%f",&mathitis.mesos_oros);
printf(":");
scanf("%d",&mathitis.ilikia);
fwrite(&mathitis,sizeof(struct stoixeia),1,fp);
fclose(fp);
}
14.9 sxoleio-
14.3.-
-
.
structstoixeia
{
chareponymo[30];
chartaxi[5];
floatmesos_oros;
intilikia;
};
main()
{
FILE*fp;
struct stoixeia mathitis;
char ch;
fp=fopen("sxoleio","rb");
printf(":");
ch=getch();
while(!feof(fp))
{
15.
/
mathitis.
-mathitis 15 -.
mathitis .
mathitis (14.5 . 352 ).
100
8/13/2019 apantiseis_v3
101/138
C 3
fread(&mathitis,sizeof(struct stoixeia),1,fp);
if (mathitis.eponymo[0]==ch)
{
printf("%s %d\n",mathitis.eponymo,mathitis.ilikia);
}
} o (ch),.
fclose(fp);
}
-mathitis.
feof(fp).
14.10 :
. -
"" "".
, -
, .
main()
{
FILE*fp;
charch,file_in[30];
printf(":");
gets(file_in);
fp=fopen(file_in,"r"); .
if(fp==NULL){
printf("");
exit(2);
}
while(ch!=EOF)
{
ch=fgetc(fp);
ch.
putch(ch-1); .
}
fclose(fp);
}
14.11 :
C FILE.
bit.
, .
-
.
fseek()-.
http://c.bytes.gr 101
8/13/2019 apantiseis_v3
102/138
C 3 .
FILE.
-
(buffer).
C
.
14.12 bathmoi, -
100
.
-
-
.
bathmoi.txt
5.5 7 910 4 6.58 7 39.5 8 8.............
#include
#include
main()
{
inti;
charepon[30],onom[30],maxonom[30],maxepon[30];
floatb1,b2,b3,mo,maxmo;
FILE*fp;//
fp=fopen("bathmoi.txt","r");
epon, onom b1,b2&b3.
fscanf(fp,"%s %s %f %f %f",epon,onom,&b1,&b2,&b3);
mo=(b1+b2+b3)/3;
maxmo=mo;strcpy(maxepon,epon);
strcpy(maxonom,onom);
-
, maxmomaxeponmaxonom.
for(i=2;imaxmo)
{
maxmo=mo;
strcpy(maxepon,epon);
strcpy(maxonom,onom);
. maxmo
maxeponmaxonom.
}
}
fclose(fp);
printf("%s %s\n",maxepon,maxonom);
}
102
8/13/2019 apantiseis_v3
103/138
C 3
14.13
.
:
.
-. : .ep .ap .
96.54.............
.ep -(>=5), .ap
.
.
#include
#include
main(){
intar=0;
charepon[30],onom[30],arxeio[30],arxeio_ep[30],arxeio_ap[30];
floatb;
printf(":"); .
gets(arxeio);
FILE *fp,*fp_ep,*fp_ap;
fp=fopen(arxeio,"r"); if(fp==NULL)
{puts("");
exit(1); .
}
strcpy(arxeio_ep,arxeio);
strcpy(arxeio_ap,arxeio);
fp_ep=fopen(strcat(arxeio_ep,".ep"),"w");
fp_ap=fopen(strcat(arxeio_ap,".ap"),"w");
while(!feof(fp))
{
fscanf(fp,"%s %s %f",epon,onom,&b);
.
if(b>=5)
fprintf(fp_ep,"%s %s %f\n",epon,onom,b);
else
fprintf(fp_ap,"%s %s %f\n",epon,onom,b);
ar++;
} .
fclose(fp);
fclose(fp_ep);
fclose(fp_ap);
printf("%d\n",ar);
}
http://c.bytes.gr 103
8/13/2019 apantiseis_v3
104/138
C 3 .
14.14 -
100 .-
MHTROO, .-
.
#include
#include To foit.#definefoit 100
main()
{
intar=0,mitroa[foit],i;
charonomata[foit][30]; - ono-matamitroa.FILE*fp;
for(i=0;i
8/13/2019 apantiseis_v3
105/138
C 3
#include MHTROO 34 byte. 4 (sizeof(int)) 30.
#include
#definefoit 100
main()
{
inti,mitroo,ar,brika;
charonoma[30];
FILE*fp;
fp=fopen("MHTROO","rb");
MHTROA(rb).
if(fp==NULL)
{
puts("");
exit(1);
}
fseek(fp,0,SEEK_SET);
fread(&mitroo,sizeof(int),1,fp);
.
fread(onoma,30,1,fp);
printf("%s %d\n",onoma,mitroo);
-.
fseek(fp,-34,SEEK_END);
fread(&mitroo,sizeof(int),1,fp);
34bytes . .
fread(onoma,30,1,fp);
printf("%s %d\n",onoma,mitroo); -.
printf(":");
scanf("%d",&ar);
brika=0;
fseek(fp,0,SEEK_SET); - .for(i=0;i
8/13/2019 apantiseis_v3
106/138
C 3 .
15
15.1
1/1 + 1/2 + 1/3 + 1/4 + ........ + 1/n. -
n.
floatpar(intn)
{
floatp;
if(n==1) return1.0;
.
p=1.0/n+par(n-1);
returnp;
}
15.2 .
intpar(intn)
{
intp;
p=n+par(n-1);
-(363 ).
returnp;
}
15.3 ;
intpar(intn)
{
intp;
if(n==1) return0;
p=n+par(n/2);
returnp;
}
par(20);
n + n/2 + n/4 .... 1.
par(20)37 (20 + 10 + 5 + 2 + 0).
15.4 .
.
-
. 1000 .
2 2 22
2 2 2 2 2 2
=
106
8/13/2019 apantiseis_v3
107/138
C 3
doublepar(intn);
doubleall(intk);
main()
{
printf("%lf\n",all(1000));
}
doublepar(intn)
{,
doublep;
if(n==0) return0;
p=sqrt(2+par(n-1)); .returnp;
}
doubleall(intk)
{doublep;
if(k==0) return2;
p=2/par(k)*all(k-1); .
returnp;
}
par() -.
all()-.
15.5 :
-
.
.
/.
-.
.
15.6 -
:
1: .
2: 0 ...
3: .
4: =0, .
http://c.bytes.gr 107
8/13/2019 apantiseis_v3
108/138
C 3 .
108
5: ,
3.
.-
mkd(), -
.
-
..mkd().
#include
#include
main()
{
inta,b;
printf(":");
scanf("%d %d",&a,&b);
printf("%d %d %d\n",a,b,mkd(a,b));}
intmkd(intm, intn)
{
inttemp;
if(n>m)
{
temp=m;
m=n;
n=temp;
}if(n==0)
returnm;
else
returnmkd(n, m % n);
}
15.7 xy= x*xy-1,
xy.xy-
xy.
.
#include
#include
doublemypow(doublex, doubley);
main()
{
doublea,b;
printf(":");
scanf("%lf %lf",&a,&b);
printf("%f %f = %f\n",a,b,mypow(a,b));
}
.
m n m .
8/13/2019 apantiseis_v3
109/138
C 3
doublemypow(doublex, doubley)
{
if(y==0)
return1;
else
returnx*mypow(x,y-1);
.
}
15.8 -
. -
.
#include
#include
main(intargc,char*argv[])
{
FILE*fin;
intcnt=0; .
charch;
if(argc!=2)
{
printf("\n");
exit(2);
}
fin=fopen(argv[1],"r");
-, .
if(fin==NULL)
{
printf("\n");
exit(2);
}
while(!feof(fin)) --cnt.
{
ch=fgetc(fin);
cnt++;
}
fclose(fin);printf("%s %d \n",argv[1],cnt);
}
15.9 -
. -
.
#include
#include
main(intargc,char*argv[])
http://c.bytes.gr 109
8/13/2019 apantiseis_v3
110/138
8/13/2019 apantiseis_v3
111/138
C 3
main()
{
double(*ptr[3]) (doublex, doubley);
double, double.
inti;
ptr[0]=&mo;
ptr[1]=&max;
ptr[2]=&min;
ptr
mo(), max()min().
for(i=0;i
8/13/2019 apantiseis_v3
112/138
C 3 .
1 100.
. -
, gcc.
func.c
sum()kyrio.cmain()
.myfunc.h-
sum():
.-:
c:\myfiles>gcc Wall c kyrio.cc:\myfiles>gcc Wall c func.c
final.exe:
c:\myfiles>gcc kyrio.o func.o o final
:
c:\myfiles>final5050
15.13 :
-
.
& -
.
.
,,
.
.
int sum(int n){
int p;if (n==0) return 0;p=n+sum(n-1);return p;
}
func.c
#include #include #include "myfunc.h"main(){
printf("%d\n",sum(100));}
kyrio.c myfunc.h
int sum(int n);
112
8/13/2019 apantiseis_v3
113/138
C 3
16
16.1 , -
, .
, .
main()
{
inti,k,n;
charch,lex[30];
printf(":");
gets(lex);
n=strlen(lex);
n lex[].
for(i=1;i=i;k--)
{
if(lex[k]
8/13/2019 apantiseis_v3
114/138
C 3 .
}
}
16.3 lex
"", lex
;
inti=0,p1,p2;
charch1,ch2,temp;
ch1=ch2=lex[0];
p1=p2=0;
while(lex[i]!='\0')
{
if(ch1>lex[i])
{
ch1=lex[i];
() .p1.
p1=i;}
if(ch2
8/13/2019 apantiseis_v3
115/138
C 3
intinsert(lex,ch)
charlex[],ch;
{
inti,n,pos;
n=strlen(lex);n .
pos=n;
for(i=0;i
8/13/2019 apantiseis_v3
116/138
C 3 .
.
.
#include
#include
main()
{
inti,k,n=0;
charonomata[50][30],temp[30]; "" 50.
for(i=0;i
8/13/2019 apantiseis_v3
117/138
C 3
{
inti,j,k;
charonomata[10][20],temp[20];
floatvoles[10][6],max[10],tt;
for(i=0;i
8/13/2019 apantiseis_v3
118/138
C 3 .
16.8
onomata.txt
() voles.txt.
0,
.
#include
#include
voidread_files(charon[][20], floatvol[][6]);
main()
{
inti,j,k,akyres=0;
charonomata[10][20],temp[20];
floatvoles[10][6],max[10],tt;
read_files(onomata,voles); onomatavoles .
for(i=0;i
8/13/2019 apantiseis_v3
119/138
C 3
FILE*fp1,*fp2;
inti,j;
fp1=fopen("onomata.txt","r"); ono-mata.txt.
if(fp1==NULL)
{
puts("onomata.txt");
exit(1);
}
for(i=0;i
8/13/2019 apantiseis_v3
120/138
C 3 .
//
main()
{
inttest[10]={5,67,8,3,56,87,12,14,9,27},tt,i,k;
test.
printf("=%d\n",check_sort(test,10));
//test[]for(i=1;i=i;k--)
{
if(test[k]test[k-1])
{tt=test[k];
test[k]=test[k-1];
test[k-1]=tt;
}
}
}
printf("=%d\n",check_sort(test,10));
}
16.10 100 n
(0 n-1).
.
-
.
int:intinsert(charpin[], intn, intar). -
, n(ar) -
.
120
8/13/2019 apantiseis_v3
121/138
C 3
n(1) , n-
(.. ).
#include
#include
intinsert(intpin[],intn, intar)
{
inti,thesi=0;
if(n>=100) returnn;
for(i=0;ipin[i]) thesi++;
for(i=n;i>thesi;i--)
pin[i]=pin[i-1];
pin[thesi]=ar;
returnn+1;}
main()
{
inttest[20]={5,67,8,3,56,87,12,14,9,27},tt,i,k,n=10;//test[]
for(i=1;i=i;k--)
{
if(test[k]
8/13/2019 apantiseis_v3
122/138
C 3 .
17
17.1 -
,-
-
.
main()
{
inti,ar,*pin;
printf(":");
scanf("%d",&ar);
pin=(int*)calloc(ar,sizeof(int));
intar.
for(i=0;i
8/13/2019 apantiseis_v3
123/138
C 3
17.3
-
stoixeia.-
10o .
structstoixeia{
charonoma[15];charaddress[20];charthl[13];int
ilikia;};
main()
{
intar;
struct stoixeia *pin;
printf(":");
stoixeiaar.
scanf("%d",&ar);
pin=(structstoixeia *)calloc(ar,sizeof(structstoixeia));
printf(":");
scanf("%s",pin[9].onoma);
printf(":");
scanf("%s",pin[9].address);
( pin[9]).
printf(":");
scanf("%s",pin[9].thl);
printf(":");
scanf("%d",&pin[9].ilikia);
}
(struct stoixeia *) calloc().calloc()-void(424 ).
17.4 17.2
10
(50 100 )
.
17.2
:
k=(float*)realloc(k,50*sizeof(float));
realloc()block "" k(100float 50) (
block) k.
block (-425 ).
17.5 :
.
.malloc(5,100)500 byte .
http://c.bytes.gr 123
8/13/2019 apantiseis_v3
124/138
C 3 .
free(100)100 byte .
calloc()malloc().
17.6 times.txt
.
.
.
.
#include
#include
main()
{
FILE*fp;
float*pin,sum,mo,temp;inti,k,plithos;
fp=fopen("times.txt","r");
if(fp==NULL)
{
printf("");
exit(2);
}
fscanf(fp,"%d",&plithos);
pin=(float*)calloc(plithos,sizeof(float));
(plithos) .
for(i=0;i
8/13/2019 apantiseis_v3
125/138
C 3
18
18.1 a100 .
a.
structnode
{437 .
intdata;
structnode *next;
}*list_head,*neos;
voidadd_node_to_list();
main()
{
inti,a[100];for(i=0;inext = list_head;data.
list_head=neos;next-, list_head, .
}
18.2 a100 .
-
a.
#include
#include
#include
#include
structnode
{
int data;
structnode *next;
structnode *previous;
data, -o ., (434).
}*list_head,*neos;
http://c.bytes.gr 125
8/13/2019 apantiseis_v3
126/138
C 3 .
structnode *find_place();
voidadd_node_to_list();
main()
{
inta[100],i;
list_head=NULL;
a[] .
for(i=0;idata) tp=p;
p=p->next; .
}
returntp;
}
voidadd_node_to_list(ar)
ar, -
intar;
{
structnode *temp_next,*thesi;
thesi=find_place(ar);
neos = (structnode *)malloc(sizeof(structnode));
neos->data=ar;thesiNULL if(thesi==NULL)
{
if(list_head!=NULL) .
{
list_head->previous=neos;
neos->next=list_head;
neos->previous=NULL;
list_head=neos;
} .
else
{
neos->next=NULL;
neos->previous=NULL;
list_head=neos;
}
}else thesiNULL
() -.
126
8/13/2019 apantiseis_v3
127/138
C 3
{
temp_next=thesi->next;
thesi->next=neos;
neos->previous=thesi;
neos->next=temp_next;
}
}
-.
display_all()
{
structnode *p;
p=list_head;
while(p!=NULL)
{
printf("%d\n",p->data);
.
p=p->next;.
}
}
-.
18.3 a100 .
-
a.
- 452~460 .
#include#include
#include
#include
data, -o .
structnode
{
intdata;
structnode *left;
structnode *right;
};
structnode *root;
structnode *newnode();
structnode *insert();
voiddisplay();
main()
{
inta[100],i;
for(i=0;i
8/13/2019 apantiseis_v3
128/138
C 3 .
root=NULL;a[], -.
for(i=0;idata = num;
new->left = NULL;new->right = NULL;
return(new);
}
structnode *insert(intnum)
num. .
{
structnode *next,*current,*ptr;
intisleft;
next=current=root;
ptr=newnode(num);
if(root == NULL)
{
root=ptr;
returnptr;
}
while(1)
{
if(num < current->data)
{
next = current->left;
isleft=1;
}
else
{
next = current->right;
isleft=0;
}
if(next == NULL)
{
if(isleft)
current->left=ptr;else
128
8/13/2019 apantiseis_v3
129/138
C 3
current->right=ptr;
returnptr;
}
current=next;
}
}
voiddisplay(structnode *ptr)
{
if(ptr == NULL) return;
display(ptr->left);
printf("%d ", ptr->data);
(ptr) ..
display(ptr->right);
}
18.4
:
structnode
{
float varos;
structnode *next;
}*list_head;
list_head.
.
.
floatcalculate_mo()
{sum-.
structnode *p;
float sum=0,mo;
int plithos=0;
p=list_head; plithos "" .
while(p!=NULL)
{sum=sum+p->varos;
- -sum(p->varos). plithos1.p=p->next;
plithos++;
}
mo=sum/plithos; (sum/plithos) .returnmo;
}
http://c.bytes.gr 129
8/13/2019 apantiseis_v3
130/138
C 3 .
18.5 ,
:
structnode
{
float ilikia;
structnode *left;
structnode *right;
}*root;
root,
.-
root:
intmax_data(structnode *rt)
max_node ..{
structnode *max_node;
max_node= find_right_most(rt);
if(max_node==NULL) ., .
{
printf("\n");
exit(1);
}
elseIlikia.returnmax_node->ilikia;
}
structnode *find_right_most(structnode *rt)
{
structnode *current;
if(rt==NULL) returnNULL;. .
while(rt->right!=NULL) . ., NULL.
{
rt=rt->right;
}
returnrt;
}
-, -.max_data()-
find_right_most()(
"" 461 ).
ilikia . .
, .
130
8/13/2019 apantiseis_v3
131/138
C 3
intmin_data(structnode *rt)
{
structnode *min_node;
min_node= find_left_most(rt);
min_node..
if(min_node==NULL)
{
printf("\n");
., .
exit(1);
}
else
returnmin_node->ilikia;
Ilikia.
}
structnode *find_left_most(structnode *rt)
{
structnode *current;
if(rt==NULL) returnNULL; -. .while(rt->left!=NULL) . ., NULL.
{
rt=rt->left;
}
returnrt;
}
-, .min_data()
find_left_most()
("" 461 ).-
ilikia. .
, .
float mo(structnode *rt)
{
if(count(rt)!=0)returnsum(rt)/count(rt);
. , .
_/_.
else
{
printf("\n");
., .
exit(1);
}
}
intcount(structnode *ptr)
{
if(ptr == NULL) return0;
-..
return1+count(ptr->left)+count(ptr->right);
http://c.bytes.gr 131
8/13/2019 apantiseis_v3
132/138
C 3 .
}
floatsum(structnode *ptr)
{
if(ptr == NULL) return0;
sum() -ilikia..
returnptr->ilikia+sum(ptr->left)+sum(ptr->right);
}
mo() sum() -count() . -
_/.
18.6 -
.
("") :
#include - 452~460 .
#include
#include
#include
data, -.
structnode
{
chardata[30];
structnode *left;
structnode *right;
};
structnode *root;
structnode *newnode();
structnode *insert();
voiddisplay();
main()
{
charonoma[30];
root=NULL;
while(1)
{
printf(":");
gets(onoma);
if(strcmp(onoma,"")==0)break;
onoma[]. -.
insert(onoma);To , .}
display(root);.}
structnode *newnode(charlex[])lex.
132
8/13/2019 apantiseis_v3
133/138
C 3
{
structnode *new;
new=(structnode *)malloc(sizeof(structnode));
if(new==NULL)
{
puts("No memory");
returnNULL;
}
strcpy(new->data,lex);
new->left = NULL;
new->right = NULL;
return(new);
}
structnode *insert(charlex[])
lex . .
{structnode *next,*current,*ptr;
intisleft;
next=current=root;
ptr=newnode(lex);
if(root == NULL)
{
root=ptr;
returnptr;
}
while(1)
{
if(strcmp(lex,current->data)==-1)
{
next = current->left;
isleft=1;
}
else
{
next = current->right;
isleft=0;
}
if(next == NULL)
{
if(isleft)
current->left=ptr;
else
current->right=ptr;
returnptr;
}
current=next;
}}
http://c.bytes.gr 133
8/13/2019 apantiseis_v3
134/138
C 3 .
voiddisplay(structnode *ptr)
{
if(ptr == NULL) return;
display(ptr->left);
printf("%s\n", ptr->data);
(ptr) ..
display(ptr->right);
}
18.7
:
structnode
{
char onoma[30];structnode *next;
}*list_head;
list_head.
.
ONOMATA.
voidlist_to_file()
{. .structnode *p;
FILE *fp;
if((fp=fopen("ONOMATA","w")) == NULL)
{
printf("");
return;
}
p=list_head;
while(p!=NULL)
{
fputs(p->onoma,fp);- , .
p=p->next;}
fclose(fp);
}
134
8/13/2019 apantiseis_v3
135/138
C 3
18.8 -
ONOMATA ()
() :
#include
#include
#include
#include
structnode
{
char data[30];
structnode *next;
}*list_head,*neos;
data, -o ., (441).
structnode *find_place(charlex[]);
voidadd_node_to_list(charlex[]);
main()
{
list_head=NULL;
read_all();
.
display_all();
}
structnode *find_place(charlex[]){
structnode *p,*tp;
p=list_head;
- .-, -.tp=NULL;NULL -, .while(p!=NULL)
{
if(strcmp(lex,p->data)==1) tp=p;
p=p->next; .}
returntp;lex[], -
}
voidadd_node_to_list(charlex[])
{
structnode *temp_next,*thesi;
thesi=find_place(lex);
neos = (structnode *)malloc(sizeof(structnode));
strcpy(neos->data,lex);thesiNULL if(thesi==NULL)
{
if(list_head!=NULL) .
{
http://c.bytes.gr 135
8/13/2019 apantiseis_v3
136/138
C 3 .
neos->next=list_head;
list_head=neos;.}
else
{
neos->next=NULL;
list_head=neos;
}
}
else
{
temp_next=thesi->next;
thesiNULL ( ) -.
thesi->next=neos;
neos->next=temp_next;
}
}
.
display_all()
{
structnode *p;
p=list_head;
while(p!=NULL)
{
printf("%s\n",p->data);
.
p=p->next; .
}
}
read_all()
{
FILE*fp;
charlex[30];
fp=fopen("onomata.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s",lex);
add_node_to_list(lex);
lex[], -
}
}
-.
136
8/13/2019 apantiseis_v3
137/138
C 3
18.9 :
-
.
,
.
, -
.
-
.
-
-.
http://c.bytes.gr 137
8/13/2019 apantiseis_v3
138/138
C 3 .
19
19.1 :
main()
{
inta,b;
cin >> a >> b;
if(a>b)
cout