Podstawy Programowania C 05

#include <stdio.h>

//*****************************************************

#include <stdlib.h>

// mnoży tablicę t1 przez tablicę t2

#include <conio.h>

// o rozmiarach r2 x r2

#include <time.h>

// wynik zapisuje do tablicy t3

//*****************************************************

//*****************************************************

#define r1 4

void iloczyn(int t1[][r2], int t2[][r2], int t3[][r2], int k){

#define r2 4

int i;

//*****************************************************

int j;

void koniec();

if(r2!=k)

int los(int, int);

{

void wypelnij(int t[][r2], int); printf("\n\n\n");

void drukuj(int t[][r2], int); printf("PROGRAM mnozy tylko macierze kwadratowe ! ! !"); void suma(int t1[][r2], int t2[][r2], int); printf("\n\n\n");

void iloczyn(int t1[][r2], int t2[][r2], int t3[][r2], int);

}

int mnoz(int t1[][r2], int t2[][r2], int, int); else

//*****************************************************

{

// wyświetla napis

for(i=0;i<k;i++)

// T H E E N D

for(j=0;j<r2;j++)

// i czeka na wciśnięcie klawisza t3[i][j]=mnoz(t1,t2,i,j);

//*****************************************************

}

void koniec(){

}

printf("\n\n\nT H E E N D\n\n");

//*****************************************************

fflush(stdin);

// mnoży i-ty wiersz tablicy t1 przez j-tą kolumnę tablicy t2

getch();

//*****************************************************

}

int mnoz(int t1[][r2], int t2[][r2], int i, int j)

//*****************************************************

{

// zwraca liczbę losową

int ii;

// z przedziału [a,b]

int pom;

//*****************************************************

pom=0;

int los(int a, int b){

for(ii=0;ii<r2;ii++) int pp;

pom=pom+t1[i][ii]*t2[ii][j];

pp=(int)((rand()*(b-a+1))/(RAND_MAX+0.0))+a; return pom;

return pp;

}

}

//*****************************************************

// wypełnia tablicę t o rozmiarach k x r2 danymi losowymi

//*****************************************************

//*****************************************************

//*****************************************************

void wypelnij(int t[][r2], int k){

//*****************************************************

int i;

int main(){

int j;

for(i=0;i<k;i++)

int t1[r1][r2];

for(j=0;j<r2;j++)

int t2[r1][r2];

t[i][j]=los(0,4);

int t3[r1][r2];

}

int t4[r1][r2];

//*****************************************************

// drukuje tablicę t o rozmiarach k x r2

int i;

//*****************************************************

void drukuj(int t[][r2], int k){

srand(time(0));

int i;

wypelnij(t1,r1);

int j;

wypelnij(t2,r1);

for(i=0;i<k;i++)

wypelnij(t3,r1);

{

printf("\n\ntablica 1\n\n"); for(j=0;j<r2;j++)

drukuj(t1,r1);

printf("%3d ",t[i][j]); printf("\n\ntablica 2\n\n"); printf("\n");

drukuj(t2,r1);

}

}

suma(t3,t2,r1);

//*****************************************************

printf("\n\nSUMA\n\n");

// dodaje do tablicy t1 tablicę t2 o rozmiarach k x r2

drukuj(t3,r1);

//*****************************************************

void suma(int t1[][r2], int t2[][r2], int k){

iloczyn(t1,t2,t4,r1);

int i;

printf("\n\nILOCZYN\n\n"); int j;

drukuj(t4,r1);

for(i=0;i<k;i++)

for(j=0;j<r2;j++)

koniec();

t1[i][j]+=t2[i][j];

return 0;

}

}