Why the function doesnt work with('1234')??!

1 visualizzazione (ultimi 30 giorni)
Marco Nashaat
Marco Nashaat il 5 Feb 2020
Commentato: Marco Nashaat il 7 Feb 2020
function coded=caesar(str,shift) a=double(str); counter=1; coded=zeros(1,length(str)); for i=[1:length(str)] if a(1,couner)+shift>126||a(1,counter)+shift<32%j while a(1,couner)+shift>126 coded(1,counter)=a(1,counter)+shift-95; counter=counter+1; end while a(1,counter)+shift<32 coded(1,counter)=a(1,counter)+shift+95; counter=counter+1; end else coded(1,counter)=a(1,counter)+shift; counter=counter+1; end end coded=char(coded) end
  7 Commenti
Marco Nashaat
Marco Nashaat il 7 Feb 2020
Wow how stupid of me!! Thank you very much
Marco Nashaat
Marco Nashaat il 7 Feb 2020
I tried it now but it seems like it's not working yet,I got this message...Index in position 2 exceeds array bounds (must not exceed 4).
Error in caesar (line 7) while a(1,counter)+shift>126 Please help!!

Accedi per commentare.

Risposte (1)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH il 5 Feb 2020
solution:
save it :
function coded=caesar(str,shift)
a=double(str);
counter=1; coded=zeros(1,length(str));
for i=[1:length(str)]
if a(1,counter)+shift>126||a(1,counter)+shift<32%j
while a(1,couner)+shift>126
coded(1,counter)=a(1,counter)+shift-95;
counter=counter+1;
end
while a(1,counter)+shift<32
coded(1,counter)=a(1,counter)+shift+95;
counter=counter+1;
end
else
coded(1,counter)=a(1,counter)+shift;
counter=counter+1;
end
end
coded=char(coded);
end
and type it in the Command Window :
caesar('1234',2)
  4 Commenti
JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH il 5 Feb 2020
Walter Roberson sorry but it is not my solution is the same function provided by Marco Nashaat
Walter Roberson
Walter Roberson il 6 Feb 2020
So it is, compete with the user of couner as a variable at one point.

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by