output = '##p: 6\n##id: yw\n'; % Q1 Check length input = splitlines(fileread('P6Q1.txt')); valid = zeros(1, 100); for t = 1:100 valid(t) = (length(input{t}) == 4) * 1; end valid output = [output '##1: ' mat2str(valid) '\n']; % Q2 Check valid characters input = splitlines(fileread('P6Q2.txt')); valid = ones(1, 100); for t = 1:100 for s = 1:4 valid(t) = valid(t) * max(input{t}(s) == 'QCWBJIFKocsudex513074'); end end valid output = [output '##2: ' mat2str(valid) '\n']; % Q3 Check contain upper case letter input = splitlines(fileread('P6Q3.txt')); valid = zeros(1, 100); for t = 1:100 for s = 'QCWBJIFK' valid(t) = max(valid(t), max(input{t} == s)); end end valid output = [output '##3: ' mat2str(valid) '\n']; % Q4 Check contain digit (use helper function) input = splitlines(fileread('P6Q4.txt')); valid = zeros(1, 100); for t = 1:100 valid(t) = containsOne(input{t}, '513074'); end valid output = [output '##4: ' mat2str(valid) '\n']; % Q5 Check everything input = splitlines(fileread('P6Q5.txt')); valid = zeros(1, 100); for t = 1:100 valid(t) = (length(input{t}) == 4 && isValid(input{t}, 'QCWBJIFKocsudex513074') && containsOne(input{t}, 'QCWBJIFK') && containsOne(input{t}, 'ocsudex') && containsOne(input{t}, '513074')) * 1; end valid output = [output '##5: ' mat2str(valid) '\n']; % Q6 list = ''; for s = '513074' list = [list s 'Cus ']; end list output = [output '##6: ' list '\n']; % Q7 list = ''; for s = 'QCWBJIFKocsudex513074' list = [list s 'Jd1 ']; end list output = [output '##7: ' list '\n']; % Q8 list = ''; for s = 'ocsudex' for t = '513074' list = [list 'K' s 'C' t ' ']; list = [list 'K' t 'C' s ' ']; end end list output = [output '##8: ' list '\n']; % Q9 list = ''; for s = 'QCWBJIFKocsudex' for t = '513074' list = [list 'e' s t 'F ']; list = [list 'e' t s 'F ']; end end for s = '513074' for t = '513074' list = [list 'e' s t 'F ']; end end list output = [output '##9: ' list '\n']; % Q10 and write to file output = [output '##10: None']; file = fopen('P6.txt', 'wt'); fprintf(file, output); fclose(file); function v = isValid(text, set) v = 1; for s = text v = v * max(s == set); end end function c = containsOne(text, set) c = 0; for s = set c = max(c, max(text == s)); end end