Potrzebuje pomocy z programem w C, który ma dodawać do siebie macierze stworzone dynamicznie(przynajmniej chciałem żeby tak się dodawały). Nie umiem sobie z tym poradzić wklejam kod który dotąd napisałem wiem ze mam gdzie wałka w pętlach przy sumie ale nie wiem gdzie.
Jeśli to widzicie to pomóżcie.
Kod: Zaznacz cały
#include<stdio.h>
int main()
{
int i,j,b,a;
int **macierz;
printf("Podaj liczbe kolumn
");
scanf("%i", &a);
printf("Podaj liczbe wierszy
");
scanf("%i", &b);
macierz=(int**)malloc(sizeof(int*)*b);
for(i=0;i<b;i++)
macierz[i]=(int*)malloc(sizeof(int)*a);
for(i=0;i<b;i++)
for(j=0;j<a;j++)
{
printf("Podaj liczbe ");
scanf("%d", &macierz[i][j]);
}
printf("Pierwsza macierz (A):
");
/* wypisuje tablice */
for(i = 0 ; i < b ; i++)
{
for(j = 0 ; j < a ; j++)
{
printf("%d ", macierz[i][j]) ;
}
printf("
") ; /* oddziela każdy nowy wiersz */
}
int x,y,q,w;
int **macierz2;
printf("Podaj liczbe kolumn
");
scanf("%d",&w);
printf("Podaj liczbe wierszy
");
scanf("%d",&q);
macierz2=(int**)malloc(sizeof(int)*q);
for(x=0;x<q;x++)
macierz2[x]=(int*)malloc(sizeof(int)*w);
for(x=0;x<q;x++)
for(y=0;y<w;y++)
{
printf("Podaj liczbe ");
scanf("%d",&macierz2[x][y]);
}
printf("Druga macierz (B):
");
/*Wypisuje drugą tablice*/
for(x=0;x<q;x++)
{
for(y=0;y<w;y++)
{
printf("%d ", macierz2[x][y]);
}
printf("
");
}
if (a==w&b==q)
{
printf("Dodaje macierze A+B=C
");
int wiersz,kolumna, w1=a,k1=b;
int **macierz3;
printf("%d
",w1);
macierz3=(int**)malloc(sizeof(int)*k1);
for(wiersz=0;wiersz<w1;wiersz++)
macierz3[wiersz]=(int*)malloc(sizeof(int)*w1);
for(kolumna=0;kolumna<k1;kolumna++)
for(wiersz=0;wiersz<w1;wiersz++)
{
macierz3[wiersz][kolumna]=macierz2[x][y]+macierz[i][j];
printf("wiersz %d", wiersz);}
for(wiersz=0;wiersz<w1;wiersz++)
{
for(kolumna=0;kolumna<k1;kolumna++)
{
printf("s %d",macierz3[wiersz][kolumna]);
}
printf("
");
}
}
else
{
printf("Nie mozna dodac macierzy");
}
getch();
}