Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- long long A[30][30], B[30][30], C[30][30];
- void mat_mult_i64(int m, int n, int p){
- int i, j, k;
- for(i = 0; i < m; i++){
- for(j = 0; j < p; j++){
- C[i][j] = 0;
- for(k = 0; k < n; k++){
- C[i][j] += A[i][k] * B[k][j];
- }
- }
- }
- }
- int main(){
- int row[30] = { 0 }, col[30] = { 0 };
- int n, i, j, k;
- scanf("%d", &n);
- for(i = 0; i < n; i++){
- scanf("%d%d", row + i, col + i);
- }
- for(i = 0; i < row[0]; i++){
- for(j = 0; j < col[0]; j++){
- scanf("%lld", &(A[i][j]));
- }
- }
- for(k = 1; k < n; k++){
- for(i = 0; i < row[k]; i++){
- for(j = 0; j < col[k]; j++){
- scanf("%lld", &(B[i][j]));//input b
- }
- }
- mat_mult_i64(row[0], col[k - 1], col[k]);
- for(i = 0; i < row[0]; i++){
- for(j = 0; j < col[k]; j++){
- A[i][j] = C[i][j];//move C to A
- }
- }
- }
- for(i = 0; i < row[0]; i++){
- for(j = 0; j < col[n-1]; j++){
- printf("%lld ", A[i][j]);
- }
- putchar('\n');
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement