|
/////////////////////////////////////////////////////////////////////// // ITS - Visoka Škola Strukovnih Studija Za Informacione Tehnologije // http://www.its.edu.rs/ // Predmet: Osnovi Programiranja - Programski jezik C // // Primer: Program za izracunavanje zbira elemenata ispod sporedne // dijagonale kvadratne matrice /////////////////////////////////////////////////////////////////////// #include <stdio.h> #include <stdlib.h>
main() { int **matrica; int n, i, j, k, temp, suma=0, x=0; // x je pomocna promenljiva za racunanje zbira // poruka korisniku printf("Unesite broj vrsta i kolona kvadratne matrice:\n"); // unos sa tastature scanf("%d", &n); if(n<=0) { // poruka korisniku printf("Potrebno je da unesete pozitivan ceo broj.\n"); return 1; // izlaz iz programa } // alokacija memorije matrica=malloc(n*sizeof(int*)); if(matrica==NULL) // u slucaju neuspele alokacije { printf("Doslo je do greske u alokaciji memorije.\n"); return 1; // izlaz iz programa } for(i=0; i<n; i++) { // alokacija memorije *(matrica + i)=malloc(n*sizeof(int));
if(*(matrica + i)==NULL) // u slucaju neuspele alokacije { printf("Doslo je do greske u alokaciji memorije.\n"); for(k=0; k<i; k++) // oslobadjanje memorije free(*(matrica + k)); free(matrica); return 1; } } for(i=0; i<n; i++) { for(j=0; j<n; j++) { // poruka korisniku printf("x[%d][%d] = ", i, j); // unos elemenata matrice sa tastature scanf("%d", &temp); *(*(matrica+i)+j) = temp; } } for(i=n-1; i>=0; i--) { x++; for(j=n-1; j>=x; j--) { temp = *(*(matrica+i)+j); // izracunavanje zbira suma+=temp; } } // stampanje rezultata printf("Zbir elemenata ispod sporedne dijagonale iznosi %d\n\n", suma); // oslobadjanje memorije for(i=0; i<n; i++) free(*(matrica + i)); free(matrica); return 0; }

Broj mesta je ograničen! Prijavite se na vreme.
|