C/Visual C - Comparar elementos de un arreglo de cadenas

 
Vista:
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por je (7 intervenciones) el 28/09/2017 18:16:47
MI duda es que no entiendo como lograr comparar dos elementos de un arreglo de cadenas.

1
2
3
4
5
int main()
{
typedef char color [50];
color colores[5];
}


intente pero no compila de esta forma:

1
if (colores[i]==colores[i+1])
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
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Yamil Bracho (26 intervenciones) el 28/09/2017 18:45:36
En C usas strcmp
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
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Lei (7 intervenciones) el 28/09/2017 19:34:12
Gracias por la ayuda pero cuando utilice strcmp me da error

1
2
3
4
5
Colores.c:23:16: error: 'colores' undeclared (first use in this function)
    ret= strcmp(colores[i],colores[i+1]);
                ^~~~~~~~~
 
Colores.c:23:16: note: each undeclared identifier is reported only once for each function it appears in

Mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (i=0;i<5;i++)
{
   int ret;
   ret= strcmp(colores[i],colores[i+1]); //esta línea es la que da error
   if(ret < 0)
   {
      printf("str1 es menor que str2");
   }
   else if(ret > 0)
   {
      printf("str2 es menor que str1");
   }
   else
   {
      printf("str1 son iguales to str2");
   }
 
   return(0);
}

Cual es el error?
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
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Yamil Bracho (26 intervenciones) el 28/09/2017 19:41:37
Donde declaraste e inicialiaste colores ?
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
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Lei (7 intervenciones) el 28/09/2017 19:51:57
Ya encontré el error, no escribí bien el nombre del array. El código se ejecuta y funciona, pero solo compara los 2 primeros elementos, que error estoy cometiendo? como hago que compare todos los elementos?
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
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Yamil Bracho (26 intervenciones) el 28/09/2017 20:03:49
manda a imprimir los valores que se estan comparando

printf("En i=%s, en i + 1=%s", colores[i],colores[i+1]);
ret= strcmp(colores[i],colores[i+1]);
....
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
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Comparar elementos de un arreglo de cadenas

Publicado por Lei (7 intervenciones) el 28/09/2017 20:23:32
¿Cómo ayudaría eso? Perdon que haga tantas preguntas, pero no hace mucho comencé con C y me esta costando entender
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