Hola chicos,siguiendo con el ejercicio hay una parte que nome sale para nada no se como quedarme con la ultima ubicacion de un caracter de la cadena.-.la primera si pero la ultima no me lo guarda..
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(cad[i]==letra){ //Desde aqui
flag=1;
pos=i;
}
if(pos<=i){
posf=i;
}
}
// hasta aqui no se como guardar la ultima ocurrencia del caracter..
if(flag==1){
printf("la letra %c se encontro en la cadena \n",letra
); printf("la primera ocurrencia es en %i\n",pos
); printf("la ultima ocurrencia es en %i\n",posf
); }
else{
printf("La letra %c No se encontro en la cadena\n",letra
); }
return 0;
}