Can anyone help me with this question..?
    9 views (last 30 days)
  
       Show older comments
    
Each number on telephone keypads, except 0 and 1, corresponds to a set of uppercase letters as shown in this list:
2 ABC, 3 DEF, 4 GHI, 5 JKL, 6 MNO, 7 PQRS, 8 TUV, 9 WXYZ
Hence, a phone-number specification can include uppercase letters and digits. Write a function called dial that takes as its input argument a string of length 16 or less that includes only these characters and returns as its output argument the telephone number as a uint64. Here is the input and output for one example of a call of the function:
Input: '1FUNDOG4YOU'
Output: 13863644968
please do not use "strrep function"
You can assume that a phone number never starts with 0. If the input contains any illegal characters, the function returns 0.
0 Comments
Answers (2)
  Walter Roberson
      
      
 on 27 Dec 2016
        Hint: it is possible to index a sufficiently long array at a character string.
MyArray('QV9')
is the same as
MyArray(double('QV9'))
which would be the same as
MyArray([81, 86, 57])
and if 7 was stored at index 81...
0 Comments
  RAMAKANT SHAKYA
 on 7 Feb 2019
        function s2=dial(n)
p=[n];
s1='';
tx = ismember(p, ['A':'Z','0':'9']);%only digits and capital letters
tx1=sum(tx);
if length(p)<=16&& p(1,1)~='0'&& tx1==length(p) %finding letters
    for c=1:length(p)
        if p(c)=='A' || p(c)=='B' || p(c)=='C'
            s='2';
        elseif p(c)=='D' || p(c)=='E' || p(c)=='F'
            s='3';
        elseif p(c)=='G' || p(c)=='H' || p(c)=='I'
            s='4';
        elseif p(c)=='J' || p(c)=='K' || p(c)=='L'
            s='5';
        elseif p(c)=='M' || p(c)=='N' || p(c)=='O'
            s='6';
        elseif p(c)=='P' || p(c)=='Q' || p(c)=='R' || p(c)=='S'
            s='7';
        elseif p(c)=='T' || p(c)=='U' || p(c)=='V'
            s='8';
        elseif p(c)=='W' || p(c)=='X' || p(c)=='Y' || p(c)=='Z'
            s='9';
        else
            for r=0:9   %finding digit if present
                t=num2str(r);
                if p(c)==t
                    s=t;
                end
            end
        end
        s1=strcat(s1,s);    %adding string
        s2=str2num(s1);     %change into number
        s2=uint64(s2);  %changing class
    end
else
    s2=uint64(0);
end
end
0 Comments
See Also
Categories
				Find more on Instrument Control Toolbox Supported Hardware in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

