Mam problem z takim zadaniem, aby utworzyć iloczyn kartezjański dwóch tablic o takich samych rozmiarach, np dla \(\displaystyle{ A= \left\{ 1,2 \right\}}\) oraz \(\displaystyle{ B= \left\{ 2,3 \right\}}\) wynikiem powinno być: \(\displaystyle{ A \times B= \left\{ \left( 1,2 \right) , \left( 1,3 \right) , \left( 2,2 \right) , \left( 2,3 \right) \right\}}\)
Mój problem polega na tym że nie mam pojęcia jak do tablicy
Kod: Zaznacz cały
tab
Kod: Zaznacz cały
tab[k]='(a[i],b[j])'
Oto mój kod:
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
int k;
char *iloczynKartezjanski(int a[], int b[], int n)
{
char *tab = (char *)malloc(n*n*sizeof(char));
int i, j;
k=-1;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
k++;
tab[k]='(a[i],b[j])';
}
if(k==-1)
return NULL;
else
return tab;
}
int main()
{
printf(" ================================================\n\n");
int n = 4;
int a[] = {1, 2, 3, 4};
int b[] = {1, 2, 4, 8};
char *kartezjansk = iloczynKartezjanski(a, b, n);
printf("Iloczyn Kartezjanski: \n");
for(i=0; i<=k; i++)
printf("%c ", kartezjansk[i]);
printf("\n\n");
system("PAUSE");
return 0;
}