Advertisement
filip710

PROG2 LV5 Z1

Jun 29th, 2016
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.85 KB | None | 0 0
  1. /* Napišite program koji će obaviti množenje matrice cijelim brojem K, te njen ispis na
  2. ekran u formatu („%d\t“), svaki red matrice u novi red. Datoteka program.c već je
  3. dana, te nju ne trebate mijenjati. Prema primjeru 1 popunite funkcije koje nedostaju
  4. u datotekama functions.c i myheader.h, a pozivaju se iz funkcije main() unutar
  5. program.c datoteke. */
  6.  
  7. //MAIN FUNKCIJA
  8. #include "myheader.h"
  9. #include <stdio.h>
  10.  
  11. #include<stdlib.h>
  12.  
  13. int main(void)
  14. {
  15.     int **M=NULL;
  16.     int m, n, K;
  17.     printf("Unesi n i m: ");
  18.     scanf("%d%d", &n, &m);
  19.  
  20.     printf("Unesi k: ");
  21.     scanf("%d", &K);
  22.  
  23.  
  24.     M = allocateMatrix(n, m);
  25.  
  26.     inputMatrix(M, n, m);
  27.  
  28.     matrixTimesK(M, n, m, K);
  29.  
  30.     printf("REZULTATI:\n");
  31.     printMatrix(M, n, m);
  32.  
  33.     return 0;
  34. }
  35.  
  36. //POMOĆNE FUNKCIJE U DRUGOJ DATOTECI
  37. #include "myheader.h"
  38. #include<stdio.h>
  39. #include<stdlib.h>
  40.  
  41. int** allocateMatrix(int n, int m) {
  42.     int i;
  43.     int **M;
  44.     M = (int**)malloc( n*sizeof( int*));
  45.     for(i=0; i<n; i++) {
  46.         M[i] = (int*)malloc( m*sizeof( int));
  47.     }
  48.     return M;
  49. }
  50.  
  51. void inputMatrix(int **M, int n, int m) {
  52.     int i, j;
  53.     for(i=0; i<n; i++) {
  54.         for(j=0; j<m; j++) {
  55.             printf("Input M[%d][%d]: ", i,j);
  56.             scanf("%d", (*(M+i)+j));
  57.         }  
  58.     }
  59. }
  60.  
  61. int **matrixTimesK(int **M, int n, int m, int K){
  62.     int i, j;
  63.  
  64.     for (i = 0; i < n; i++){
  65.         for (j = 0; j < m; j++){
  66.             M[i][j]*=K;
  67.         }
  68.     }
  69.     return M;
  70. }
  71.  
  72. void printMatrix(int **M, int n, int m) {
  73.     int i, j;
  74.     for(i=0; i<n; i++) {
  75.         for(j=0; j<m; j++) {
  76.         printf("%d\t", M[i][j]);
  77.       }
  78.     printf("\n");
  79.     }
  80. }
  81.  
  82. //HEADER
  83.  
  84. #ifndef FUNCTIONS_H
  85. #define FUNCTIONS_H
  86.  
  87. int **allocateMatrix(int n, int m);
  88. void inputMatrix(int **M, int n, int m);
  89. int **matrixTimesK(int **M, int n, int m, int K);
  90. void printMatrix(int **M, int n, int m);
  91.  
  92. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement