Napisz program, w którym utworzysz macierz dynamiczną, wypełnisz ją liczbami całkowitymi należącymi do przedziału [−10, 10] oraz wypiszesz na ekran zawartość tej macierzy i sumę elementów leżących na jej przekątnej. Program przed zakończeniem pracy powinien usunąć macierz.
Mam takie zadanie, nie jestem pewna kodu mam jakis bład ale nie optrafie go znalezc. :/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void zapelnij_tablice(int **tablica, unsigned int ilosc_elementow)
{
int i,j;
srand(time(0));
for (i=0; i<ilosc_elementow; i++)
for (j=0; j<ilosc_elementow; j++)
{
tablica[i][j]=-10+rand()%+20;
}
}
void wyswietl_tablice (int **tablica, unsigned int ilosc_elementow)
{
int i,j;
puts("\n[\n");
for (i=0; i<ilosc_elementow; i++)
{
for (j=0; j<ilosc_elementow; j++)
printf("%d\t", tablica[i][j]);
puts("\n");
}
puts("\n]\n");
}
int main ()
{
puts("Ile elementow ma zawierac tablica?");
unsigned int ilosc_elementow=0;
scanf("%u", &ilosc_elementow);
int *tablica_wskaznik= (int *)calloc(ilosc_elementow, sizeof(int));
if (tablica_wskaznik)
{
zapelnij_tablice(tablica_wskaznik, ilosc_elementow);
wyswietl_tablice(tablica_wskaznik, ilosc_elementow);
free(tablica_wskaznik);
tablica_wskaznik=NULL;
}
return 0;
}