clear clc close all min = 0; max = 10; min_add = -100; max_add = 100; type = "mult"; % "mult" "div" "add" "sub" "mix" %There is no need to modify anything below this line diary on % math range columns = 5; rows = 8; range = abs(max-min); range_add = abs(max_add-min_add); % delta = 1; % levels = range*2+1; X = min+(range)*rand(1,rows*columns); Y = min+(range)*rand(1,rows*columns); X_add = min_add+(range_add)*rand(1,rows*columns); Y_add = min_add+(range_add)*rand(1,rows*columns); %X = uquant(X,delta,levels); %Y = uquant(Y,delta,levels); X = round(X); Y = round(Y); X_add = round(X_add); Y_add = round(Y_add); answer = X.*Y; % [N,x] = hist(X(:),[min:max]); % bar(x,N) switch type case("mult") %multiplication for i = 0:rows-1 for j = 1:columns fprintf('%d X %d=____ ',X(i*columns+j),Y(i*columns+j)); end fprintf('\n\n\n') end fprintf('\n\n\n\n\n') for i = 0:rows-1 for j = 1:columns fprintf('%d X %d= %d ',X(i*columns+j),Y(i*columns+j),answer(i*columns+j)); end fprintf('\n\n\n') end case("div") % % division for i = 0:rows-1 for j = 1:columns fprintf('%d / %d=____ ',answer(i*columns+j),Y(i*columns+j)); end fprintf('\n\n\n') end fprintf('\n\n\n\n\n') for i = 0:rows-1 for j = 1:columns fprintf('%d / %d= %d ',answer(i*columns+j),Y(i*columns+j),X(i*columns+j)); end fprintf('\n\n\n') end case("sub") % subtraction answer = X_add - Y_add; for i = 0:rows-1 for j = 1:columns fprintf('%d - %d=____ ',X_add(i*columns+j),Y_add(i*columns+j)); end fprintf('\n\n\n') end fprintf('\n\n\n\n\n') for i = 0:rows-1 for j = 1:columns fprintf('%d - %d= %d ',X_add(i*columns+j),Y_add(i*columns+j),answer(i*columns+j)); end fprintf('\n\n\n') end case("add") %addition answer = X_add + Y_add; for i = 0:rows-1 for j = 1:columns fprintf('%d + %d=____ ',X_add(i*columns+j),Y_add(i*columns+j)); end fprintf('\n\n\n') end fprintf('\n\n\n\n\n') for i = 0:rows-1 for j = 1:columns fprintf('%d + %d= %d ',X_add(i*columns+j),Y_add(i*columns+j),answer(i*columns+j)); end fprintf('\n\n\n') end case("mix") %mixed operators operators = ['X','/','+','-']; ops = ceil(3.99*rand(1,rows*columns)+0.01); for i = 0:rows-1 for j = 1:columns switch ops(i*columns+j) case(1) answer(i*columns+j) = X(i*columns+j)*Y(i*columns+j); fprintf('%d %c %d=____ ',X(i*columns+j),operators(ops(i*columns+j)),Y(i*columns+j)); case(2) answer(i*columns+j) = X(i*columns+j)*Y(i*columns+j); fprintf('%d %c %d=____ ',answer(i*columns+j),operators(ops(i*columns+j)),Y(i*columns+j)); case(3) answer(i*columns+j) = X_add(i*columns+j)+Y_add(i*columns+j); fprintf('%d %c %d=____ ',X_add(i*columns+j),operators(ops(i*columns+j)),Y_add(i*columns+j)); case(4) answer(i*columns+j) = X_add(i*columns+j)-Y_add(i*columns+j); fprintf('%d %c %d=____ ',X_add(i*columns+j),operators(ops(i*columns+j)),Y_add(i*columns+j)); endswitch end fprintf('\n\n\n') end fprintf('\n\n\n\n\n') for i = 0:rows-1 for j = 1:columns switch ops(i*columns+j) case(1) fprintf('%d %c %d= %d ',X(i*columns+j),operators(ops(i*columns+j)),Y(i*columns+j),answer(i*columns+j)); case(2) fprintf('%d %c %d= %d ',answer(i*columns+j),operators(ops(i*columns+j)),Y(i*columns+j),X(i*columns+j)); case(3) fprintf('%d %c %d= %d ',X_add(i*columns+j),operators(ops(i*columns+j)),Y_add(i*columns+j),answer(i*columns+j)); case(4) fprintf('%d %c %d= %d ',X_add(i*columns+j),operators(ops(i*columns+j)),Y_add(i*columns+j),answer(i*columns+j)); endswitch end fprintf('\n\n\n') end endswitch diary off