Hola,Carlgary pos si gracias por repasar mi codigo
efectivamente se me paso lo de si solo aparecia una vez,.. vaya pasada como son aleatorios casi siempre se repetian las letras cuando la longitud era grande y me costo probarlo jiji
bueno el Codigo Final es ... :
Código C:
Ver original/*/*20. Generar la longitud de la cadena aleatoriamente y la propia cadena de
caracteres (tanto en mayúsculas como en minúsculas) de 50 caracteres útiles
como máximo y 15 como mínimo. Buscar dentro de ella la primera y última
ocurrencia de un carácter leído por teclado indepen-dientemente de si se almaceno
en mayúsculas o minúsculas, indicando la
posición donde se encuentra dentro de la cadena o el mensaje correspondiente si
no se encontró.*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
int main(){
char cad[51],letra;
int l=0,i=0,aux,flag=0,pos=0,posf=0;
printf("*******LONGITUD CADENA ALEATORIA*******\n"); printf("la longitud es %d\n",l
); printf("La cadena de caracteres aleatorios es:\n"); for(i=0;i<l;i++){
aux
=(rand()%56)+65; //EL 56 sale de( VALOR MAX ES 122(z)-65(A)+1) y el 65 es el minimo ya que ahi empieza el valor de Aif(aux<90 || aux>97){ //me quito con este if los valores que no son letras y que estan entre el 90 y el 97(simbolos raros)..
cad[i]=aux; //si cumple la condicion lo guardo en mi cadena..
printf(" %c %d\n",cad
[i
],i
); //visualizo mi cadena }
else{
i--;
}
}
printf("Introduce un caracter a buscar:\n");
for(i=0;i<l;i++){
if(flag==0){ //Si es la primera vez que coinciden flag valdra 0;
flag=1;
pos=i;
posf=i;
}
else{//las proximas veces guardara la posicion en posf
posf=i;
}
}
}
if(flag==1 && posf>pos){
printf("la letra %c se encontro en la cadena \n",letra
); printf("la primera ocurrencia de la letra %c fue en la posicion %i\n",letra
,pos
); printf("la ultima ocurrencia de la letra %c fue en la posicion %i",letra
,posf
);
}else if(pos==posf){
printf("Solo se encontro una ocurrencia de %c en la cadena cuya posicion es %i\n",letra
,pos
); }
else{
printf("La letra %c No se encontro en la cadena\n",letra
); }
return 0;
}