To znooowu ja.
Czy ktoś mógłby rzucić okiem na mój kod? Niby się kompiluje, niby coś tam wyświetla, ale nie jestem w 100% przekonana, że jest poprawny.
W dane.dat zapisano binarnie: liczbę kolumn, wierszy oraz dane z tablicy typu double (tablica dwuwymiarowa). Zaalokuj pamięć na tę tablicę i przypisz kolejnym komórkom wartości z pliku binarnego.
Plik dane.dat w załączniku, a oto kod:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *plik;
double **tab;
int k, w, i, j;
plik=fopen("dane.dat", "rb");
fread(&k, sizeof(int), 1, plik);
fread(&w, sizeof(int), 1, plik);
printf("%d %d\n", w, k);
tab=(double**)malloc(sizeof(*tab)*w);
for(i=0;i<w;i++)
tab[i]=(double*)malloc(sizeof(**tab)*k);
if(tab) printf("Udalo sie.\n");
for(i=0;i<w;i++)
{
printf("\n");
for(j=0;j<k;j++)
{
fread(&(tab[i][j]), sizeof(double), 1, plik);
printf("%.2f ", tab[i][j]);
}
}
for(i=0;i<k;i++)
free(tab[i]);
free(tab);
}