Buenas murfo, bienvenido al foro.
Te cuento:
* No es necesario que uses 'x' e 'y' para los bucles, dado que éstos no se solapan te puedes ahorrar una de las dos variables
* ¿Por qué calculas la longitud máxima en un bucle independiente? Lo puedes hacer sobre la marcha cuando le pides al usuario las cadenas.
* No es necesario usar el array "longitud". Tampoco es que el rendimiento de este algoritmo se vaya a ver resentido por calcular la longitud de las cadenas varias veces.
* Te he corregido un pequeño detalle en el código. He añadido un comentario al respecto.
Código C:
Ver original#include <stdio.h>
#include <string.h>
int main()
{
char cadenas[10][100];
int cantidad, x, longitud, mayor = -1;
for(x=0;x<10;x++) // OJO! el primer elemento tiene subindice 0
{
printf("ingresa una cadena %i: ", x
+1); // <--- el primer índice es 0. En el último bucle haces exactamente esta misma modificación longitud
= strlen( cadenas
[x
] ); if ( mayor < longitud )
mayor = longitud;
}
printf("longitud de cadena mayor %i\n",mayor
); printf("Longitud de cadena a evaluar: ");
printf("cadenas que corresponden a la longitud: %i\n",cantidad
); for( x=0;x<10;x++) // OJO! el primer elemento tiene subindice 0
{
if ( strlen( cadenas
[x
] ) == cantidad
) printf("%i: %s\n",x
+1, cadenas
[x
]); }
return 0;
}
Por lo demás, poco que contar, el código funciona como se espera de el :)
Un saludo