Untitled
Anonymous
plain_text
03/03/2026 11:59 AM
4.0 KB
13
Indexable
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void unosDimenzije(int *m) {
do {
printf("Unesi broj redova/stupaca (2-8): ");
scanf("%d", m);
if (*m < 2 || *m > 8)
printf("Neispravan unos!\n");
} while (*m < 2 || *m > 8);
}
double** alocirajMatricu(int m) {
double **mat = (double**)malloc(m * sizeof(double*));
for (int i = 0; i < m; i++)
*(mat + i) = (double*)malloc(m * sizeof(double));
return mat;
}
void popuniMatricu(double **mat, int m) {
for (int i = 0; i < m; i++)
for (int j = 0; j < m; j++)
*(*(mat + i) + j) =
-1.25 + (double)rand() / RAND_MAX * (5.75 + 1.25);
}
void ispisiMatricu(double **mat, int m) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++)
printf("%7.2lf ", *(*(mat + i) + j));
printf("\n");
}
}
double najveciElement(double **mat, int m) {
double max = *(*mat);
for (int i = 0; i < m; i++)
for (int j = 0; j < m; j++)
if (*(*(mat + i) + j) > max)
max = *(*(mat + i) + j);
return max;
}
double iznadSporedne(double **mat, int m) {
double max = -1000;
for (int i = 0; i < m; i++)
for (int j = 0; j < m; j++)
if (i + j < m - 1) // iznad sporedne dijagonale
if (*(*(mat + i) + j) > max)
max = *(*(mat + i) + j);
return max;
}
void oslobodi(double **mat, int m) {
for (int i = 0; i < m; i++)
free(*(mat + i));
free(mat);
}
int main() {
srand(time(NULL));
int m;
unosDimenzije(&m);
double **mat = alocirajMatricu(m);
popuniMatricu(mat, m);
printf("\nMatrica:\n");
ispisiMatricu(mat, m);
printf("\nNajveci element: %.2lf\n",
najveciElement(mat, m));
printf("Najveci iznad sporedne dijagonale: %.2lf\n",
iznadSporedne(mat, m));
oslobodi(mat, m);
return 0;
}
}
}
}
}
}
}
}
}
}
}Editor is loading...
Leave a Comment