Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Jürgen Hein
/
iax0583
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a5a21f16
authored
Oct 24, 2024
by
Jürgen Hein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
bb45cdc3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
105 additions
and
0 deletions
Tunnitöö 24.10.24/RingiKoordinaadid.c
Tunnitöö 24.10.24/RingiKoordinaadid.c
0 → 100644
View file @
a5a21f16
/*Sisestage punktide koordinaadid.
/*Sisestage punktide koordinaadid.
*Sisestage ringi keskpunkti koordinaadid.
*Sisestage ringi raadius. Leidke, millised
*punktid asuvad ringi sees */
//(x-a)^2+(y-a)^2=r^2
// /*int A[x][y]; */
#include <stdio.h>
#include <math.h>
//Prototüübid
int
Sisestus
(
char
[]);
void
SisestusMaatriks
(
int
[],
int
[],
int
);
void
KontrollV
ä
ljastus
(
int
,
int
,
int
);
void
PunktiSobivus
(
int
[],
int
[],
int
[],
int
,
int
,
int
,
int
);
void
V
ä
ljastus
(
int
[],
int
[],
int
,
int
[]);
int
main
(
void
)
{
int
KoordArv
=
Sisestus
(
"Sisestage koordinaatide arv:"
);
int
A
[
KoordArv
];
//x koordinaatide massiiv
int
B
[
KoordArv
];
//y koordinaatide massiiv
int
C
[
KoordArv
];
SisestusMaatriks
(
A
,
B
,
KoordArv
);
int
xKesk
=
Sisestus
(
"Sisestage ringi keskpunkti x koordinaat:"
);
int
yKesk
=
Sisestus
(
"Sisestage ringi keskpunkti y koordinaat:"
);
int
Raadius
=
Sisestus
(
"Sisestage ringi raadius:"
);
KontrollV
ä
ljastus
(
xKesk
,
yKesk
,
Raadius
);
PunktiSobivus
(
A
,
B
,
C
,
xKesk
,
yKesk
,
Raadius
,
KoordArv
);
V
ä
ljastus
(
A
,
B
,
KoordArv
,
C
);
return
0
;
}
int
Sisestus
(
char
teade
[])
{
int
arv
;
do
{
printf
(
"%s
\n
"
,
teade
);
scanf
(
"%d"
,
&
arv
);
if
(
arv
<=
-
10
||
arv
>=
10
)
{
printf
(
"Sisestatud väärtus ei sobi, sisestage täisarv vahemikus 0...10."
);
}
}
while
(
arv
<=
-
10
||
arv
>=
10
);
return
arv
;
}
void
SisestusMaatriks
(
int
A
[],
int
B
[],
int
KoordArv
)
{
int
i
;
for
(
i
=
0
;
i
<
KoordArv
;
i
++
)
{
printf
(
"Sisesta x koordinaat nr %d
\n
"
,
i
);
scanf
(
"%d"
,
&
A
[
i
]);
printf
(
"Sisesta y koordinaat nr %d
\n
"
,
i
);
scanf
(
"%d"
,
&
B
[
i
]);
}
}
void
KontrollV
ä
ljastus
(
int
xKesk
,
int
yKesk
,
int
Raadius
)
{
printf
(
"Ringi võrrand on (x-%d)^2+(y-%d)^2 = %d^2
\n
"
,
xKesk
,
yKesk
,
Raadius
);
}
void
PunktiSobivus
(
int
A
[],
int
B
[],
int
C
[],
int
xKesk
,
int
yKesk
,
int
Raadius
,
int
KoordArv
)
{
int
i
;
for
(
i
=
0
;
i
<
KoordArv
;
i
++
)
{
if
(((
xKesk
-
A
[
i
])
^
2
)
+
((
yKesk
-
B
[
i
])
^
2
)
>
(
Raadius
^
2
))
{
C
[
i
]
=
0
;
// Punkt ringjoone sees
}
else
if
(((
xKesk
-
A
[
i
])
^
2
)
+
((
yKesk
-
B
[
i
])
^
2
)
==
(
Raadius
^
2
))
{
C
[
i
]
=
1
;
// Punkt ringjoone peal
}
else
{
C
[
i
]
=
2
;
// Punkt ringjoonest väljas
}
}
}
void
V
ä
ljastus
(
int
A
[],
int
B
[],
int
KoordArv
,
int
C
[])
{
int
i
;
for
(
i
=
0
;
i
<
KoordArv
;
i
++
)
{
switch
(
C
[
i
])
{
case
0
:
printf
(
"Sisestatud punkt %d, %d on ringjoone sees."
,
A
[
i
],
B
[
i
]);
break
;
case
1
:
printf
(
"Sisestatud punkt %d, %d on ringjoone peal."
,
A
[
i
],
B
[
i
]);
break
;
case
2
:
printf
(
"Sisestatud punkt %d, %d on ringjoonest väljas."
,
A
[
i
],
B
[
i
]);
break
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment