Matlab - Igualar 2 string sin usar strcmp

   
Vista:

Igualar 2 string sin usar strcmp

Publicado por Christian Efrain (11 intervenciones) el 16/10/2015 04:56:36
Lo que necesito es usando funciones como igualar 2 string tengo la idea que puede ser asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function s=caracter(S1,S2)
a=length(S1)
b=length(S2)
c=1
if a==b
for i=1:a
if S1(i)==S2(i)
c=c+1
if c==b
disp(iguales)
end
end
end
else
disp('no iguales')
end

No se bien si es asi por el estilo pero si me pueden ayudar gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth

Igualar 2 string sin usar strcmp

Publicado por Royeth jesus.royeth@gmail.com (744 intervenciones) el 16/10/2015 05:33:45
si colocas homa y hola te va a decir que son iguales , si colocas loco y roca no te sale nada aquí los principales errores

a=length(S1); %longitud de S1
b=length(S2); %longitud de S2

c=1; %diría entonces que hay un carácter igual sin hacer la comparación debería ser 0
if a==b %si las longitudes son iguales
for i=1:a %para el primer carácter hasta el último
if S1(i)==S2(i) %si el carácter sub i de S1 es igual al carácter sub i de S2
c=c+1; %aumentar en uno el c

if c==b %si el número de caracteres iguales es igual al todal de caracteres pero debería estar fuera del for después que haga el %conteo de todos
disp('iguales') %son iguales (pero sino?? ) no pasa nada no mostraría nada
end
end
end
else
disp('no iguales')
end



debería ser algo como esto y bien explicado para que lo puedas entender o eso espero
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function s=caracter(S1,S2)
s=1; %son iguales hasta que no se demuestre lo contrario
if length(S1)==length(S2) % si son de igual longitud 
for  k=1:length(S1) %ve de una en una para ver si encuentra algun caracter diferente
if S1(k)~=S2(k) % si hay algun caracter diferente 
s=0; %se demostró lo contrario
break; %sal de aquí no es necesario seguir 
end
end
else %si no son de igual longitud
s=0; %se demostró lo contrario!
end
if s==1
disp('son iguales')
else
disp('no son iguales')
end


un saludo
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Igualar 2 string sin usar strcmp

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/10/2015 18:07:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function caracter(S1,S2)
if  length(S1)==length(S2)
    c=0;
   for i=1:length(S1)
        if S1(i)==S2(i)
            c=c+1;
        end
   end
   if c==length(S1)
       disp(' son iguales')
   else
       disp('son distintas')
   end
else
    disp('son distintas')
end


1
2
3
4
5
>> caracter('hola me fui a comer','hola me fui a comer')
 son iguales
>> caracter('hola me fui a comer','hola me fui a comer lejos')
son distintas
>> caracter('hola me fui a comer','hola me fui a comer lejos')


Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar