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
c6ede816
authored
Sep 27, 2024
by
Jürgen Hein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update parandused 1 ArvuAlusteTeisendamine.c
parent
502504c8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
57 additions
and
38 deletions
Tunnitöö 26.09.24/ArvuAlusteTeisendamine.c
Tunnitöö 26.09.24/ArvuAlusteTeisendamine.c
View file @
c6ede816
//Arv
u aluste teisendamine
//Arv
u aluste teisendamine
...
@@ -2,38 +2,38 @@
...
@@ -2,38 +2,38 @@
#include <stdio.h>
#include <stdio.h>
#include <string.h>
#include <string.h>
#define SUURUS 65
#define SUURUS 65
//etteantud konstant
int
main
(
void
)
int
main
(
void
)
{
{
int
letters
[
7
]
=
{
1
,
4
,
7
,
8
,
9
,
22
,
15
};
int
letters
[
SUURUS
];
//täisarvuline massiiv
char
temp
[
SUURUS
];
char
temp
[
SUURUS
];
//massiiv ajutiste suuruste jaoks
char
arv
[
SUURUS
];
char
arv
[
SUURUS
];
int
a
;
int
a
;
//küsitav arvu algne alus
int
b
;
int
b
;
//küsitav uue arvu alus
int
t
;
int
t
;
//liikmete arv massiivis (alg)
int
i
;
int
i
;
int
algbase
;
int
algbase
;
//arvu algne alus
char
*
alg
;
char
*
alg
;
int
l6ppbase
;
int
l6ppbase
;
//uue arvu alus
char
*
l6pp
;
char
*
l6pp
;
int
result
;
int
result
;
int
mult
;
int
mult
;
//kordaja, võrdne algse aluse numbrilise väärtusega
scanf
(
"%s64"
,
arv
);
//tähemassiivi küsimine
/*
do
do
{
{
printf
(
"Sisestada muutuja arv"
);
printf
(
"Sisestada muutuja arv"
);
scanf("%d", &arv);
scanf
(
"%64s"
,
arv
);
//algse tähemassiivi küsimine
} while (arv
!= 0);*/
}
while
(
arv
==
0
);
do
do
{
{
printf
(
"Sisestada muutuja a"
);
//alg
base küsimine
printf
(
"Sisestada muutuja a"
);
//alg
se arvu alus
scanf
(
"%d"
,
&
a
);
scanf
(
"%d"
,
&
a
);
}
while
(
a
==
0
);
}
while
(
a
==
0
);
do
do
{
{
printf
(
"Sisestada muutuja b"
);
//
Lõppbase küsimine
printf
(
"Sisestada muutuja b"
);
//
uue arvu alus
scanf
(
"%d"
,
&
b
);
scanf
(
"%d"
,
&
b
);
}
while
(
b
==
0
);
}
while
(
b
==
0
);
...
@@ -46,48 +46,65 @@ int main(void)
...
@@ -46,48 +46,65 @@ int main(void)
if
(
algbase
<
2
||
algbase
>
36
)
if
(
algbase
<
2
||
algbase
>
36
)
{
{
printf
(
"Esines
e
viga!"
);
printf
(
"Esines viga!"
);
}
}
if
(
l6ppbase
<
2
||
l6ppbase
>
36
)
if
(
l6ppbase
<
2
||
l6ppbase
>
36
)
{
{
printf
(
"Esines
e
viga!"
);
printf
(
"Esines viga!"
);
}
}
if
(
algbase
==
l6ppbase
)
t
=
strlen
(
alg
);
//t = mitu arvu massiivis (alg)
if
(
algbase
==
l6ppbase
)
//Kui algne alus on sama, mis uue arvu alus
{
{
i
=
0
;
for
(
i
=
0
;
i
<
t
;
i
++
)
while
(
i
<
7
)
//mis n väärtus?
{
{
alg
[
i
]
=
l6pp
[
i
];
alg
[
i
]
=
l6pp
[
i
];
i
++
;
i
++
;
}
}
}
}
t
=
strlen
(
alg
);
//t = mitu arvu massiivis alg
i
=
t
-
1
;
i
=
t
-
1
;
for
(
i
=
0
;
i
>=
0
;
i
--
)
//tsükkel kas i>=0?
for
(
i
=
0
;
i
>=
0
;
i
--
)
//tsükkel kas i>=0?
{
{
if
(
'0'
<=
alg
[
i
]
||
alg
[
i
]
<=
'9'
)
//Kas massiivi liige on arv vahemikus 0..9?
if
(
'0'
<=
alg
[
i
]
||
alg
[
i
]
<=
'9'
)
//Kas massiivi liige on arv vahemikus 0..9?
{
{
t
=
alg
[
i
]
-
'0'
;
t
=
alg
[
i
]
-
'0'
;
//leida arvuline väärtus
}
}
if
(
'A'
<=
alg
[
i
]
||
alg
[
i
]
<=
'Z'
){
//Kas massiivi l. on täht vahemikus A..Z?
if
(
'A'
<=
alg
[
i
]
||
alg
[
i
]
<=
'Z'
)
t
=
alg
[
i
]
-
'A'
+
10
;
{
//Kas massiivi l. on täht vahemikus A..Z?
t
=
alg
[
i
]
-
'A'
+
10
;
//leida arvuline väärtus
}
}
if
(
'a'
<=
alg
[
i
]
||
alg
[
i
]
<=
'z'
){
//Kas massiivi l. on täht vahemikus a..z?
if
(
'a'
<=
alg
[
i
]
||
alg
[
i
]
<=
'z'
)
t
=
alg
[
i
]
-
'a'
+
10
;
{
//Kas massiivi l. on täht vahemikus a..z?
t
=
alg
[
i
]
-
'a'
+
10
;
//leida arvuline väärtus
}
}
if
(
t
==
-
1
||
t
>=
algbase
)
//t ei saa olla -1 ega väiksem a-st
if
(
t
==
(
-
1
)
||
t
>=
algbase
)
//t ei saa olla -1 ega väiksem a-st
{
{
printf
(
"Esines
e
viga!"
);
printf
(
"Esines viga!"
);
}
}
result
=
result
+
mult
*
t
;
result
+=
mult
*
t
;
mult
=
mult
*
algbase
;
mult
*=
algbase
;
//kordaja, mis võrdne algse alusega
}
}
for
(
i
=
0
;
result
>
0
;
i
++
)
i
=
0
;
while
(
result
>
0
)
{
if
(
result
%
l6ppbase
<
10
)
{
temp
[
i
]
=
'0'
+
(
result
%
l6ppbase
);
}
else
{
temp
[
i
]
=
'A'
+
(
result
%
l6ppbase
-
10
);
}
result
/=
l6ppbase
;
i
++
;
}
/*
while(result>0)
{
{
temp
[
i
]
=
letters
[
result
%
l6ppbase
];
temp[i]=letters[result % l6ppbase]; //ajutine muutuja eelmise tulemuse jäägi ülekandmiseks
result
/=
l6ppbase
;
//jagada result/lõppbase ja liita tulemus result-ile
result /= l6ppbase; //jagada eelmine tulemus uue alusega
i++; //näitab, mitu tehete tsüklit tehti
}
}
for
(
t
=
0
;
t
<
1
;
t
++
)
*/
for
(
t
=
0
;
t
<
i
;
t
++
)
{
{
l6pp
[
t
]
=
temp
[
i
-
t
-
1
];
l6pp
[
t
]
=
temp
[
i
-
t
-
1
];
}
}
...
@@ -96,9 +113,11 @@ int main(void)
...
@@ -96,9 +113,11 @@ int main(void)
{
{
l6pp
[
0
]
=
'0'
;
l6pp
[
0
]
=
'0'
;
l6pp
[
1
]
=
'\0'
;
l6pp
[
1
]
=
'\0'
;
printf
(
"%s alusel %d on %s alusel %d"
,
arv
,
algbase
,
temp
,
l6ppbase
);
}
else
}
else
{
{
printf
(
"%d=%d"
,
arv
[
a
],
temp
[
b
]);
temp
[
i
]
=
'\0'
;
printf
(
"%s alusel %d on %s alusel %d"
,
arv
,
algbase
,
temp
,
l6ppbase
);
}
}
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