Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
prog1_c2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vgsb18
prog1_c2
Commits
40b2ff29
Commit
40b2ff29
authored
Oct 11, 2019
by
vgsb18
🦍
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Terminado e corrigido
parents
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
105 additions
and
0 deletions
+105
-0
matrizes/mult
matrizes/mult
+0
-0
matrizes/mult.c
matrizes/mult.c
+105
-0
No files found.
matrizes/mult
0 → 100755
View file @
40b2ff29
File added
matrizes/mult.c
0 → 100644
View file @
40b2ff29
#include <stdio.h>
#include <stdlib.h>
int
**
multiplica
(
int
**
m1
,
int
**
m2
,
int
linhas
,
int
colunas
,
int
linhaux
)
{
int
**
aux
;
int
i
,
k
,
l
;
aux
=
malloc
(
linhas
*
sizeof
(
int
*
));
for
(
i
=
0
;
i
<
linhas
;
i
++
)
aux
[
i
]
=
malloc
(
colunas
*
sizeof
(
int
*
));
for
(
i
=
0
;
i
<
linhas
;
i
++
)
{
for
(
k
=
0
;
k
<
colunas
;
k
++
)
{
for
(
l
=
0
;
l
<
linhaux
;
l
++
)
{
aux
[
i
][
k
]
+=
m1
[
i
][
l
]
*
m2
[
l
][
k
];
}
}
}
return
aux
;
}
int
main
()
{
int
A
,
B
,
C
,
D
;
printf
(
"Indique numero de linhas da 1 matriz
\n
"
);
scanf
(
"%d"
,
&
A
);
printf
(
"Indique numero de colunas da 1 matriz
\n
"
);
scanf
(
"%d"
,
&
B
);
printf
(
"Indique numero de linhas da 2 matriz
\n
"
);
scanf
(
"%d"
,
&
C
);
printf
(
"Indique numero de colunas da 2 matriz
\n
"
);
scanf
(
"%d"
,
&
D
);
int
i
,
j
,
k
;
if
(
B
!=
C
)
{
printf
(
"Impossivel
\n
"
);
exit
(
1
);
}
int
**
m1
;
m1
=
malloc
(
A
*
sizeof
(
int
*
));
for
(
i
=
0
;
i
<
A
;
i
++
)
m1
[
i
]
=
malloc
(
B
*
sizeof
(
int
*
));
int
**
m2
;
m2
=
malloc
(
C
*
sizeof
(
int
*
));
for
(
i
=
0
;
i
<
C
;
i
++
)
m2
[
i
]
=
malloc
(
D
*
sizeof
(
int
*
));
printf
(
"Digite a primeira matriz:
\n
"
);
for
(
k
=
0
;
k
<
A
;
k
++
)
{
for
(
j
=
0
;
j
<
B
;
j
++
)
{
scanf
(
"%d"
,
&
m1
[
k
][
j
]);
}
}
printf
(
"Digite a segunda matriz:
\n
"
);
for
(
k
=
0
;
k
<
C
;
k
++
)
{
for
(
j
=
0
;
j
<
D
;
j
++
)
{
scanf
(
"%d"
,
&
m2
[
k
][
j
]);
}
}
int
**
matriz
;
matriz
=
multiplica
(
m1
,
m2
,
A
,
D
,
B
);
printf
(
"A matriz resultante é:
\n
"
);
for
(
i
=
0
;
i
<
A
;
i
++
)
{
for
(
k
=
0
;
k
<
D
;
k
++
)
printf
(
"%d "
,
matriz
[
i
][
k
]
);
printf
(
"
\n
"
);
}
for
(
i
=
0
;
i
<
A
;
i
++
)
{
free
(
matriz
[
i
]);
}
free
(
matriz
);
for
(
i
=
0
;
i
<
A
;
i
++
)
{
free
(
m1
[
i
]);
}
free
(
m1
);
for
(
i
=
0
;
i
<
C
;
i
++
)
{
free
(
m2
[
i
]);
}
free
(
m2
);
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