Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Napisite C program koji ce omoguciti unos elemenata 2D matrice. Memoriju za
- * matricu alocirati dinamicki. Vas program treba pronaci i ispisati sumu svih
- * elemenata matrice koji su veći od prosječne vrijednosti stupca u kojem se
- * nalaze.
- *
- * Kod razdvojiti u funkcije čije će implementacije biti u functions.c, a
- * deklaracije funkcija u functions.h
- * Vas program mora imati minimalno 3 funkcije:
- *
- * void printMatrix(float **M, int n, int m);
- * void inputMatrix(float **M, int n, int m);
- * float findSum(float **M, int n, int m);
- *
- * Deklaracije ovih funkcija su vec postavljene u functions.h datoteku. Iz main
- * funkcije trebate pozvati ove funkcije. Ispis rezultata odraditi u formatu:
- * printf("REZULTATI:\n%.2f", suma_koju_je_vratila_funkcija_findSum);
- *
- * funkcija printMatrix() ispisuje cijelu matricu na ekran
- * funkcija inputMatrix() učitava podatke s tipkovnice u matricu
- * funkcija findSum() pronalazi sumu svih onih elemenata matrice čija je vrijednost
- * veća od prosječne vrijednosti stupca u kojem se nalaze.
- *
- * Ulaz u program su dva cijela broja koja predstavljaju broj redaka i stupaca
- * matrice, nakon cega ulaze vrijednosti elemenata matrice.
- *
- * VPL ne provjerava ispis matrice, ali tu funkciju isto morate implementirati
- * i pozvati ju iz maina kako bi ispisali učitanu matricu.
- */
- //PROGRAM.C
- #include"functions.h"
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- float **M;
- int i, j, n, m;
- scanf("%d", &n);
- scanf("%d", &m);
- M=(float**)malloc(n*sizeof(float*));
- for(i=0;i<n;i++)
- {
- *(M+i)=(float*)malloc(m*sizeof(float));
- }
- inputMatrix(M, n, m);
- printMatrix(M, n, m);
- printf("REZULTATI:\n%.2f", findSum(M, n, m));
- return 0;
- }
- //HEADER
- #ifndef FUNCTIONS_H
- #define FUNCTIONS_H
- void printMatrix(float **M, int n, int m);
- void inputMatrix(float **M, int n, int m);
- float findSum(float **M, int n, int m);
- #endif
- //FUNKCIJE
- #include"functions.h"
- #include<stdio.h>
- #include<stdlib.h>
- void inputMatrix(float **M, int n, int m)
- {
- int i, j;
- for(i=0;i<n;i++)
- {
- for(j=0;j<m;j++)
- {
- scanf("%f", &M[i][j]);
- }
- }
- }
- void printMatrix(float **M, int n, int m)
- {
- int i, j;
- for(i=0;i<n;i++)
- {
- for(j=0;j<m;j++)
- {
- printf("%.2f\t", M[i][j]);
- }
- printf("\n");
- }
- }
- float findSum(float **M, int n, int m)
- {
- int i, j;
- int sum = 0;
- int column_sum=0;
- for(j=0;j<m;j++)
- {
- column_sum=0;
- for(i=0;i<n;i++)
- {
- column_sum+=M[i][j];
- }
- for(i=0;i<n;i++)
- {
- if(M[i][j]>column_sum/m) sum+=M[i][j];
- }
- }
- return sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement