#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
//FUNKCJA MNOZENIE 2 CIAGOW BITOWYCH
char *mnoz(char ciag1[4], char ciag2[4]){
char suma[4][7];
char wynik[8];
int a, b;
for (a = 0; a < 4; a++){
for (b = 0; b < 7; b++){
if (a > b)suma[a][b] = '0';
else if(b-a>=0 && b-a<4) suma[a][b] = ((ciag1[b-a] - '0') * (ciag2[b - a] - '0')) + '0';
else suma[a][b] = '0';
}
}
for (a = 0; a < 7; a++){
wynik[a] = 0;
for (b = 0; b < 4; b++){
wynik[a] += suma[b][a]-'0';
}
wynik[a] = (wynik[a] % 2)+'0';
}
wynik[7]='\0';
return wynik;
}
//FUNKCJA DODAWANIE 2 CIAGOW BITOWYCH
char *dod(char ciag1[5], char ciag2[5]){
char wynik[6];
int i;
for(i=0;i<5;i++){
wynik[i]=(ciag1[i]-'0'+ciag2[i]-'0')%2+'0';
}
wynik[5]='/0';
return wynik;
}
int main(void){
char test[5] = "1011";
char test2[5]="1111";
int i;
char *wynik;
wynik=(char*)malloc(sizeof(*wynik)*8);
wynik=mnoz(test, test2);
/*wynik=dod(test,test2);*/
for(i=0;i<8;i++){
cout<<wynik[i];
}
system("pause");
return 0;
}
Dlaczego wynik nie jest wyswietlany, debbuger pokazuje ze funkcja zwraca prawidłową wartosc.