Primero que todo explicaré a qué me refiero exactamente:
El programa lo que pretende es mostrar un número sin importar el número de cifras que tenga desde la última de ellas hasta la primera, es decir, al contrario de como se le ingresó al programa. Aparentemente es muy sencillo y no es de asustarse, en realidad es sencillo; solo hay que saber pensar adecuadamente dependiendo del requerimiento.
Recordé que diseñé el mismo problema hace algunos años en lenguaje C pero para números de 4 cifras, así que esta vez, utilizando algunos conocimientos adquiridos en MatLab y con la presión de ayudar a algunas personas que requerían dicho programa, lo hice de la siguitente manera:
clc
clear all
close all
Estas instrucciones son para borrar el commando window, limpiar todas las variables y cerrar todas las subventanas de MatLab que se encuentren abiertas.
Luego entramos en sí a lo que venimos:
a=input('Digite el número: ');
Con esta instrucción se guarda en la variable "a" el número ingresado por el usuario.
Con la instrucción siguiente guardamos en "b" el número como cadena de caracteres:
b=num2str(a);
Luego se hace necesario saber qué tan largo es el número, es decir, saber cuántas cifras tiene, para ello usamos la instrucción siguiente:
long=length(b);
Luego hacemos un ciclo for el cuál se encarga de guardar e un vector que llamaremos "num" la cadena pero en orden contrario, utilizando un contador que denominaremos "i" y que va desde 1 hasta la longitud que definimos como "long" (longitud de la cadena inicial, o sea, número de cifras):
for(i=long:-1:1)
num(i)=b(long+1-i)
end
Con la instrucción siguiente convertimos esta nueva cadena nuevamente a número:
a=str2num(num)
Si se necesita mostrar como número, se debe mostrar la nueva variable "a", pero si el último o los últimos número (s) ingresado (s) es/son cero (0) entonces es conveniente mostrar el resultado como cadena, es decir, se debe en este caso mostrar "num" en lugar de "a" para que salgan los ceros a la izquierda.
No hay comentarios:
Publicar un comentario