#include <stdio.h>#include <math.h>int main(void){char cad, let; let= 'e'; unsigned rep, i; printf("Introduzca una cadena de caracteres: "); scanf("%c", &cad); for(i= 0 ; i<=(int) cad; i++){ if(cad == let){ rep= 1; } else if(rep == 1){ rep= rep + 1; } if(rep != 1){ rep= rep +1; } printf("\n La 'E' se repite %d veces \n", rep); } return 0;}
if(cad == let){ rep= 1; }
else if(rep == 1){ rep= rep + 1; }
if(rep != 1){ rep= rep +1; }
Suponiendo que he entendido bien lo que quieres:¿Por qué no esperas a que se ingresen letras? Lo cuentas al final.Utiliza subíndices para comparar con el punto y la "e". Si es un punto, termina, si es una "e", incrementa el contador.
#include <stdio.h>#include <math.h>int main(void){ char let, cad[20]; let= 'e'; unsigned rep, i; printf("Ingrese una cadena de caracteres: "); scanf("%c", &cad[20]); for(i= 0 ; i<= cad[20] ; i++){ if(cad[20] == let){ rep= 1; } else if(rep != 1 && cad[20] == let){ rep= rep +1; } else if(cad[20] == (char) 46){ rep= rep; } } printf("\n La 'E' se repite %d veces \n", rep); return 0;}
Pero si en la cadena están sienpre mirando el último caracter. Estás poneindo car[20] en vez de car
#include <stdio.h>#include <string.h>int main(){ int longitud; char cad[20]; char let = 'e'; int i, j=0; printf("Ingrese su cadena: "); scanf("%s", cad); longitud = strlen(cad); for(i=0;i<longitud;i++){ if(cad[i]==let){ j++; } } printf("La letra %c aparece %i veces\n",let,j); return 0;}
Cita de: elpre en Abril 07, 2013, 11:30:21 pmPero si en la cadena están sienpre mirando el último caracter. Estás poneindo car[20] en vez de carok pero no me estás diciendo especificamente en que parte del código, estoy usando es cad[20] no car[20] :p y entonces para que no miren siempre al ultimo caracter tendría que poner cad[1] cierto?
for(i= 0 ; i<= cad[20] ; i++){ if(cad[20] == let){ rep= 1; } else if(rep != 1 && cad[20] == let){ rep= rep +1; } else if(cad[20] == (char) 46){ rep= rep; } }
#include <stdio.h>#include <math.h>#include <string.h>int main(int argc, char **argv){ int rep, i; char cad[20], let; let= 'e'; printf("Ingrese una cadena de caracteres: "); scanf("%s", cad); for(i= 0 ; i<=cad[i] ; i++){ if(cad[i] == let){ rep++; } } printf("\nLa letra 'e' aparece %d veces", rep-1); return 0;}