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
9e29b0c9
authored
Oct 18, 2024
by
Jürgen Hein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Kood parandatud, töötab õigesti. Vähendatud funktsioonide arvu. Kodutoo2MassiividLiitmine.c
parent
f6b3f1b4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
75 deletions
Kodutöö 2/Kodutoo2MassiividLiitmine.c
Kodutöö 2/Kodutoo2MassiividLiitmine.c
View file @
9e29b0c9
/* Ko
dutöö 2. Variant 4.
/* Ko
dutöö 2. Variant 4.
...
...
@@ -9,9 +9,8 @@
#define max 10
//Prototüübid
int
Sisestus
(
char
[]);
int
SisestusCRida
(
int
,
int
);
int
SisestusCVeerg
(
int
,
int
);
void
MaatriksSisestus
(
int
,
int
,
int
,
int
,
double
[][
max
],
double
[][
max
]);
int
SisestusRidaVeerg
(
int
,
int
);
void
MaatriksSisestus
(
int
,
int
,
double
[][
max
]);
void
V
ä
ljastusAlgne
(
int
,
int
,
int
,
int
,
double
[][
max
],
double
[][
max
]);
void
MaatriksLiitmine
(
int
,
int
,
double
[][
max
],
double
[][
max
],
double
[][
max
]);
void
CV
ä
ljastus
(
int
,
int
,
double
[][
max
]);
...
...
@@ -20,15 +19,16 @@ int main(void)
{
int
n
=
Sisestus
(
"Sisestage A ridade arv"
);
//read
int
m
=
Sisestus
(
"Sisestage A veergude arv"
);
//veerud
int
k
=
Sisestus
(
"Sisestage B ridade arv"
);
//read
int
l
=
Sisestus
(
"Sisestage B veergude arv"
);
//veerud
double
A
[
n
][
m
];
double
B
[
k
][
l
];
int
CRida
=
Sisestus
CRida
(
n
,
k
);
int
CVeerg
=
Sisestus
CVeerg
(
m
,
l
);
double
C
[
CRida
][
CVeerg
];
int
l
=
Sisestus
(
"Sisestage B ridade arv"
);
//read
int
k
=
Sisestus
(
"Sisestage B veergude arv"
);
//veerud
double
A
[
max
][
max
];
double
B
[
max
][
max
];
int
CRida
=
Sisestus
RidaVeerg
(
n
,
l
);
int
CVeerg
=
Sisestus
RidaVeerg
(
m
,
k
);
double
C
[
max
][
max
];
MaatriksSisestus
(
n
,
m
,
l
,
k
,
A
,
B
);
MaatriksSisestus
(
n
,
m
,
A
);
MaatriksSisestus
(
l
,
k
,
B
);
V
ä
ljastusAlgne
(
n
,
m
,
l
,
k
,
A
,
B
);
MaatriksLiitmine
(
CRida
,
CVeerg
,
A
,
B
,
C
);
CV
ä
ljastus
(
CRida
,
CVeerg
,
C
);
...
...
@@ -39,65 +39,41 @@ int main(void)
int
Sisestus
(
char
teade
[])
{
int
arv
;
int
i
;
int
Kontroll
;
int
S
[]
=
{
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
};
do
{
printf
(
"%s
\n
"
,
teade
);
scanf
(
"%d"
,
&
arv
);
Kontroll
=
0
;
for
(
i
=
0
;
i
<
max
;
i
++
)
{
if
(
arv
==
S
[
i
])
//Kontroll, kas väärtus on täisarv vahemikus 1...10.
{
Kontroll
=
1
;
//Sisestus sobib piirkonda
}
}
if
(
Kontroll
==
0
)
{
printf
(
"Sisestatud väärtus ei sobi, sisestage täisarv vahemikus 1...10."
);
}
}
while
(
Kontroll
==
0
);
if
(
arv
<=
1
||
arv
>=
10
)
{
printf
(
"Sisestatud väärtus ei sobi, sisestage täisarv vahemikus 1...10."
);
}
}
while
(
arv
<=
1
||
arv
>=
10
);
return
arv
;
}
int
SisestusCRida
(
int
n
,
int
k
)
//miinimum ridade arvu leidmine
{
int
CRida
;
if
(
n
<
k
)
{
CRida
=
n
;
}
else
{
CRida
=
k
;
}
return
CRida
;
}
int
SisestusCVeerg
(
int
m
,
int
l
)
//miinimum veergude arvu leidmine
int
SisestusRidaVeerg
(
int
m
,
int
l
)
//miinimum veergude või ridade arvu leidmine
{
int
C
Veerg
;
int
C
;
if
(
m
<
l
)
{
C
Veerg
=
m
;
C
=
m
;
}
else
{
C
Veerg
=
l
;
C
=
l
;
}
return
C
Veerg
;
return
C
;
}
void
MaatriksSisestus
(
int
n
,
int
m
,
int
k
,
int
l
,
double
A
[][
m
],
double
B
[][
l
])
void
MaatriksSisestus
(
int
n
,
int
m
,
double
A
[][
max
])
{
int
i
,
j
,
Kontroll
;
//järjenumbrid, scanf kontrolli muutuja
for
(
i
=
0
;
i
<
m
;
i
++
)
//veergude tsükkel
for
(
i
=
0
;
i
<
n
;
i
++
)
//veergude tsükkel
{
for
(
j
=
0
;
j
<
n
;
j
++
)
//ridade tsükkel
for
(
j
=
0
;
j
<
m
;
j
++
)
//ridade tsükkel
{
do
{
printf
(
"Sisestada A väärtus veerg [%d], rida [%d]"
,
i
,
j
);
printf
(
"Sisestada A väärtus veerg [%d], rida [%d]"
,
j
,
i
);
Kontroll
=
scanf
(
"%lf"
,
&
A
[
i
][
j
]);
if
(
Kontroll
==
0
)
{
...
...
@@ -107,31 +83,14 @@ void MaatriksSisestus(int n, int m, int k, int l, double A[][m], double B[][l])
}
while
(
Kontroll
==
0
);
//reaalarvu kontroll
}
}
for
(
i
=
0
;
i
<
l
;
i
++
)
//veergude tsükkel
{
for
(
j
=
0
;
j
<
k
;
j
++
)
//ridade tsükkel
{
do
{
printf
(
"Sisestada B väärtus veerg [%d], rida [%d]"
,
i
,
j
);
Kontroll
=
scanf
(
"%lf"
,
&
B
[
i
][
j
]);
if
(
Kontroll
==
0
)
{
printf
(
"Sisestatud väärtus ei sobi, sisestage reaalarv"
);
scanf
(
"%*s"
);
}
}
while
(
Kontroll
==
0
);
}
}
}
void
V
ä
ljastusAlgne
(
int
n
,
int
m
,
int
k
,
int
l
,
double
A
[][
m
],
double
B
[][
l
])
void
V
ä
ljastusAlgne
(
int
n
,
int
m
,
int
k
,
int
l
,
double
A
[][
max
],
double
B
[][
max
])
{
int
i
,
j
;
printf
(
"
\n
Sisestatud maatriks A:
\n
"
);
for
(
i
=
0
;
i
<
m
;
i
++
)
for
(
i
=
0
;
i
<
n
;
i
++
)
//n ja m vahetus
{
for
(
j
=
0
;
j
<
n
;
j
++
)
for
(
j
=
0
;
j
<
m
;
j
++
)
{
printf
(
"%lf "
,
A
[
i
][
j
]);
}
...
...
@@ -139,9 +98,9 @@ void VäljastusAlgne(int n, int m, int k, int l, double A[][m], double B[][l])
}
printf
(
"
\n
Sisestatud maatriks B:
\n
"
);
for
(
i
=
0
;
i
<
l
;
i
++
)
for
(
i
=
0
;
i
<
k
;
i
++
)
//k ja l vahetus
{
for
(
j
=
0
;
j
<
k
;
j
++
)
for
(
j
=
0
;
j
<
l
;
j
++
)
{
printf
(
"%lf "
,
B
[
i
][
j
]);
}
...
...
@@ -149,7 +108,7 @@ void VäljastusAlgne(int n, int m, int k, int l, double A[][m], double B[][l])
}
}
void
MaatriksLiitmine
(
int
CRida
,
int
CVeerg
,
double
A
[][
CVeerg
],
double
B
[][
CVeerg
],
double
C
[][
CVeerg
])
void
MaatriksLiitmine
(
int
CRida
,
int
CVeerg
,
double
A
[][
max
],
double
B
[][
max
],
double
C
[][
max
])
{
int
j
,
i
;
for
(
i
=
0
;
i
<
CRida
;
i
++
)
...
...
@@ -161,7 +120,8 @@ void MaatriksLiitmine(int CRida, int CVeerg, double A[][CVeerg], double B[][CVee
}
}
}
void
CV
ä
ljastus
(
int
CRida
,
int
CVeerg
,
double
C
[][
CVeerg
])
void
CV
ä
ljastus
(
int
CRida
,
int
CVeerg
,
double
C
[][
max
])
{
int
j
,
i
;
printf
(
"
\n
Maatriks C:
\n
"
);
...
...
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