ayuda con este codigo en lenguaje C "se que no van temas de c ni c++ pero necesito de su ayuda" Longitud de cadena de caracteres
lo que necesito es que el programa indique cual es la mayor longitud y cuales cadenas o palabras tienen la misma cantidad de letras (longitud) en este caso si ingreso los 10 valores
ingresa la cadena 1:azul (((esto de ingresar todas las cadenas ya lo tengo bien))
ingresa la cadena 2:azul
ingresa la cadena 3:azul
ingresa la cadena 4:casamitierra
ingresa la cadena 5:oscar
ingresa la cadena 6:casamitierra
ingresa la cadena 7:casamitierra
ingresa la cadena 8:hola
ingresa la cadena 9:agua
ingresa la cadena 10:casamitierra
longitud de cadena mayor : 12 (((ESTO ES LO QUE ME FALLA , NO ME DICE CUAL ES LA LONGITUD MAS GRANDE ))))
cadenas que corresponden a la longitud: 4 (((Y ESTO TAMBIEN ME FALLA))))
4: casamitierra
6: casamitierra
7: casamitierra
10: casamitierra
"ayuda please" ocupo el codigo bien en Lenguaje C
#include<string.h>
int main()
{
char cadenas[10][100];
int longitud[10], cantidad=0, x, y, mayor=100;
for(x=1;x<=10;x++)
{
printf("ingresa una cadena %i: ",x);
scanf("%s",cadenas[x]);
longitud [x]= strlen(cadenas[x]);
}
for(y=1;y<=x;y++)
{
if(longitud[y]<=mayor)
{
cantidad=longitud[y];
cantidad=cantidad+1;
}
}
printf("longitud de cadena mayor %i\n",cantidad);
printf("cadenas que corresponden a la longitud: %i\n",mayor);
return 0;
}
- jysusxtreme's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Re: programa en C
Para este problema, no es necesario que guardes las longitudes de cada cadena en otro arreglo. Lo que sí necesitas es dominar las estructuras de selección (
if
,if-else
, etc.) para obtener la longitud máxima y cuántas cadenas tienen esa longitud, p.ej:int i, max = 0, quantity;
for (i = 0; i < 10; i++) {
printf("ingresa una cadena %i: ", i + 1);
scanf("%s", array[i]);
int length = strlen(array[i]);
if (length > max) {
max = length;
quantity = 0;
}
if (length == max) {
quantity++;
}
}
Para la salida, imprime la longitud máxima encontrada, la cantidad y utiliza un ciclo para imprimir las cadenas que coincidan con esa longitud, p.ej:
printf("cadenas que corresponden a la longitud: %i\n", quantity);
for (i = 0; i < 10; i++) {
if (strlen(array[i]) == max) {
printf("%i: %s\n", i + 1, array[i]);
}
}
¡Por si sirve de algo!
~~~
gracias enserio y siii tengo
gracias enserio y siii tengo que dominar mas las estructuras te lo agradezco mucho
:D
:D