Czesc,
mam problem z dodawaniem macierzy. Zdefiniowalem strukture reprezentujaca macierz, ale przy probie napisania funkcji ktora by je dodawala wyswietlaja mi sie dane z kosmosu :(
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
typedef struct macierz{
int wiersze;
int kolumny;
float **dane;
};
macierz m1, m2, m3;
macierz stworz(int wiersze, int kolumny){
int i, j;
macierz m1;
m1.wiersze = wiersze;
m1.kolumny = kolumny;
m1.dane = (float**)malloc(sizeof(float*)* wiersze);
for (i = 0; i < wiersze; i++){
m1.dane[i] = (float*)malloc(sizeof(float)*kolumny);
for (j = 0; j < kolumny; j++){
m1.dane[i][j];
}
}
return m1;
}
macierz wczytaj(macierz m1){
for (int i = 0; i < m1.wiersze; i++){
for (int j = 0; j < m1.kolumny; j++){
scanf("%f", &m1.dane[i][j]);
}
}
return m1;
}
void pokaz(macierz m1){
for (int i = 0; i < m1.wiersze; i++){
for (int j = 0; j < m1.kolumny; j++)
printf("%f\t", m1.dane[i][j]);
printf("\n");
}
printf("\n");
}
void usun(macierz m1){
free(m1.dane);
}
macierz dodaj(macierz m1, macierz m2){
int i, j;
for (i = 0; i < m1.wiersze; i++){
for (j = 0; j < m3.kolumny; j++)
m3.dane[i][j] = m1.dane[i][j] + m2.dane[i][j];
}
return m3;
}
int main(void)
{
int wiersze, kolumny;
printf("Podaj ilosc wierszy\n");
scanf("%d", &wiersze);
printf("Podaj ilosc kolumn\n");
scanf("%d", &kolumny);
m1 = stworz(wiersze, kolumny);
m2 = stworz(wiersze, kolumny);
m3 = stworz(wiersze, kolumny);
m3 = dodaj(m1, m2);
wczytaj(m1);
wczytaj(m2);
pokaz(m1);
pokaz(m2);
pokaz(m3);
system("pause");
return 0;
}