Witam ponownie,
struct map{
int x;
int y;
int **flat;
};
struct map* wczytaj(struct map *mapa1)
{
int i,j;
mapa1->flat = (int*) malloc(sizeof(int)* mapa1->x);
for(i = 0; i < mapa1->x; i++)
{
mapa1->flat = (int*) malloc(sizeof(int)* mapa1->y);
for(i = 0; i < mapa1->y; i++)
{
printf("enter:");
scanf("%d", &(mapa1->flat[i][j]));
}
}
};
struct map* sum(struct map *mapa1, struct map *mapa2)
{
int i,j;
struct map* newxmap;
newxmap = (struct map*) malloc(sizeof(struct map));
newxmap->x = mapa1->x;
newxmap->y = mapa1->y;
if(mapa1->x != mapa2->x || mapa1->y != mapa2->y)
{
printf("Twoja macierz nie tych samych wielkosci");
}
for(i = 0; i < newxmap->x; i++)
{
for(j = 0; j < newxmap->y; j++)
{
newxmap->flat[i][j] = mapa1->flat[i][j] + mapa2->flat[i][j];
}
}
return newxmap;
}
int main()
{
struct map macierz1;
struct map macierz2;
struct map *newxmap;
my.x = 3;
my.y = 3;
towrite(&macierz1);
return 0;
}
Ogólnie zarys miał wyglądać tak, tworze sobie 2 struktury na 2 macierze, z góry podaje wielkość tych macierzy podałem że 3x3 czyli tablica dwuelementowa 3x3, zrobiłem to co trzeba ale chyba, ba napewno zle alokuje pamięć dla tych macierzy w funkcji wczytaj, ogólnie na czuje robie alokacje dynamiczna dla tablic dwuwymiarowych. Proszę o pomoc, program się sypie gdy chce wpisać 4 element do tablicy to jakby flat[1][0] ...