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
d323614b
authored
Sep 27, 2024
by
Jürgen Hein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lisatud kommentaarid, vastus õiget pidi. ArvuAlusteTeisendamine.c
parent
4bb4faed
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
25 deletions
Tunnitöö 26.09.24/ArvuAlusteTeisendamine.c
Tunnitöö 26.09.24/ArvuAlusteTeisendamine.c
View file @
d323614b
/* Ar
vu aluste teisendamine.
/* Ar
vu aluste teisendamine.
...
@@ -9,15 +9,15 @@
...
@@ -9,15 +9,15 @@
int
main
(
void
)
int
main
(
void
)
{
{
char
arv
[
SUURUS
];
//
char
arv
[
SUURUS
];
//
tähemassiiv algse arvu numbrite jaoks
char
l6pp
[
SUURUS
];
//
char
l6pp
[
SUURUS
];
//
tähemassiiv otsitava arvu numbrite jaoks
int
a
;
//küsitav arvu algne alus
int
a
;
//küsitav arvu algne alus
int
b
;
//küsitav uue arvu alus
int
b
;
//küsitav uue arvu alus
int
t
;
//liikmete arv massiivis
(alg)
int
t
;
//liikmete arv massiivis
int
i
;
int
i
;
int
algbase
;
//arvu algne alus
int
algbase
;
//arvu algne alus
int
l6ppbase
;
//uue arvu alus
int
l6ppbase
;
//uue arvu alus
int
result
;
int
result
;
//leitud liidetavate summa
int
mult
;
//kordaja, võrdne algse aluse numbrilise väärtusega
int
mult
;
//kordaja, võrdne algse aluse numbrilise väärtusega
do
do
...
@@ -32,7 +32,7 @@ int main(void)
...
@@ -32,7 +32,7 @@ int main(void)
}
while
(
a
==
0
);
}
while
(
a
==
0
);
do
do
{
{
printf
(
"Sisestada muutuja b"
);
//
uue
arvu alus
printf
(
"Sisestada muutuja b"
);
//
otsitava
arvu alus
scanf
(
"%d"
,
&
b
);
scanf
(
"%d"
,
&
b
);
}
while
(
b
==
0
);
}
while
(
b
==
0
);
...
@@ -41,7 +41,7 @@ int main(void)
...
@@ -41,7 +41,7 @@ int main(void)
result
=
0
;
result
=
0
;
mult
=
1
;
mult
=
1
;
if
(
algbase
<
2
||
algbase
>
36
)
if
(
algbase
<
2
||
algbase
>
36
)
//kontroll, kas alus antud vahemikus
{
{
printf
(
"Esines viga!"
);
printf
(
"Esines viga!"
);
}
}
...
@@ -53,11 +53,7 @@ int main(void)
...
@@ -53,11 +53,7 @@ int main(void)
if
(
algbase
==
l6ppbase
)
//Kui algne alus on sama, mis uue arvu alus
if
(
algbase
==
l6ppbase
)
//Kui algne alus on sama, mis uue arvu alus
{
{
for
(
i
=
0
;
i
<
t
;
i
++
)
printf
(
"Otsitav arv on %s"
,
arv
);
{
arv
[
i
]
=
l6pp
[
i
];
i
++
;
}
}
}
for
(
i
=
t
-
1
;
i
>=
0
;
i
--
)
//tsükkel kas i>=0?
for
(
i
=
t
-
1
;
i
>=
0
;
i
--
)
//tsükkel kas i>=0?
...
@@ -78,31 +74,37 @@ int main(void)
...
@@ -78,31 +74,37 @@ int main(void)
{
{
printf
(
"Esines viga!"
);
printf
(
"Esines viga!"
);
}
}
result
=
result
+
mult
*
t
;
result
=
result
+
mult
*
t
;
//jooksvalt leitud liidetavate liitmine
mult
=
mult
*
algbase
;
//kordaja, mis võrdne algse alusega
mult
=
mult
*
algbase
;
/*arvuga korrutatavate liikmete astmete suurendamine
nt 10^1...10^2...10^3.. */
}
}
i
=
0
;
i
=
0
;
if
(
result
==
0
)
//
if
(
result
==
0
)
//
kui kogusumma on 0
{
{
l6pp
[
i
++
]
=
'0'
;
//
l6pp
[
i
++
]
=
'0'
;
//
määratakse l6ppväärtuseks 0
l6pp
[
i
]
=
'\0'
;
//
l6pp
[
i
]
=
'\0'
;
//
massiivis lugemise lõpetamine
}
else
}
else
{
{
while
(
result
>
0
)
while
(
result
>
0
)
//liidetavate kogusumma ei ole 0
{
{
if
(
result
%
l6ppbase
<
10
)
if
(
result
%
l6ppbase
<
10
)
//jääk on väiksem kui 10
{
{
l6pp
[
i
++
]
=
'0'
+
(
result
%
l6ppbase
);
l6pp
[
i
++
]
=
'0'
+
(
result
%
l6ppbase
);
//järgmise liikme leidmine
}
else
}
else
{
{
l6pp
[
i
++
]
=
'A'
+
(
result
%
l6ppbase
-
10
);
l6pp
[
i
++
]
=
'A'
+
(
result
%
l6ppbase
-
10
);
//jääk on suurem kui 10, seega leitakse täht, mis vastab arvule nt 16-süsteemis
}
}
result
/=
l6ppbase
;
result
/=
l6ppbase
;
//viimane number arvus kaotatakse, ilma jäägita jagamine
}
}
l6pp
[
i
]
=
'\0'
;
l6pp
[
i
]
=
'\0'
;
//massiivis liikumise lõpetamine
}
}
printf
(
"%s on alusel %d"
,
l6pp
,
l6ppbase
);
//Väljastus
printf
(
"Otsitav arv on: "
);
//loop, mis liigub tagurpidi arvus
for
(
i
=
strlen
(
l6pp
)
-
1
;
i
>=
0
;
i
--
)
//töötab nii mitu korda kui on arve massiivis l6pp
{
printf
(
"%c"
,
l6pp
[
i
]);
}
printf
(
"alusel %d"
,
l6ppbase
);
//Otsitav alus
return
0
;
return
0
;
}
}
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