tccp-7-frase long canCar(char f[]) { // cantidad de caracteres en f

Anuncio
tccp-7-frase
long canCar(char f[])
{
// cantidad de caracteres en f (termina en '\0')
long c = -1; // cantidad
while (f[++c] != '\0');
return c;
}
…
int main()
{
// cantidad de caracteres en frase
char fr[] = "Que linda en el tope estas! Dominicana bandera!";
printf("%ld", canCar(fr));
return 0;
}
…
long canPal(char f[])
{
// cantidad de palabras en f (a un espacio)
long c = 1, p = 0; // cantidad, posicion
while (f[p] != '\0')
if (f[p++] == ' ') c++;
return c;
}
…
int main()
{
// cantidad de palabras en frase (a un espacio)
char fr[] = "Que linda en el tope estas! Dominicana bandera!";
printf("%ld", canPal(fr));
return 0;
}
…
long canPal(char f[])
{
// cantidad de palabras en f (no importa espaciado)
long c = 0, p = 1, a, i = 0;// cant., previa, actual, indice
char ch; // caracter actual
while (f[i] != '\0')
{
ch = f[i++];
a = (ch == ' ') ? 1 : 0;
if (p && !a) c++;
p = a;
}
return c;
}
…
int main()
{
// cantidad de palabras en frase (no importa espaciado)
char fr[] = "Que linda en el tope estas! Dominicana bandera!";
printf("%ld", canPal(fr));
return 0;
}
…
short siLetra(char x)
{
// si x es una letra (minuscula, mayuscula, acento, dieresis)
short s = 0, p = 0; // si es, posicion
char c[ ] =
"aáAÁbBcCdDeéEÉfFgGhHiíIÍjJkKlLMmNnoóOÓpPqQrRsStTuúüUÚÜvVwWxXyYzZ";
while (!s && c[p] != '\0')
if (c[p++] == x) s = 1;
return s;
}
…
int main()
{
// si letra castellana
printf("%d", siLetra('2'));
getch();
return 0;
}
…
long canPal(char f[])
{
// cantidad de palabras en f (estrictas)
long c = 0, p = 1, a, i = 0;// cant., previa, actual, indice
char ch; // caracter actual
while (f[i] != '\0')
{
ch = f[i++];
a = (siLetra(ch));
if (p && !a) c++;
p = a;
}
return c;
}
…
int main()
{
// cantidad de palabras (estrictas)
printf("%d", canPal("Que 6 linda && tope! Dominicana bandera!"));
getch();
return 0;
}
…
long extPal(char pl[][50], char f[])
{
// extrae palabras de f (estrictas) (menos de 50 letras)
long c = -1, p = 1, a;// cant., previa, actual
long pf = 0, pp; // posicion en frase, en palabra
long cc = strlen(f); // cant. caracteres
char ch; // caracter actual
while (pf < cc)
{
ch = f[pf];
a = (!siLetra(ch));
if (p && !a) // inicia palabra
{
c++;
pl[c][0] = ch;
pp = 1;
}
if (!p && !a) // sigue palabra
pl[c][pp++] = ch;
if (!p && a || pf == cc) // termina palabra
pl[c][pp] = '\0';
p = a;
pf++;
}
return ++c;
}
…
int main()
{
// si letra castellana
char pal[100][50]; // palabras
long c = 0, cp;
cp = extPal(pal, "uno dos tres 123 cuatro cinco");
printf("%ld:\n", cp);
while (c < cp)
printf("%s\n", pal[c++]);
getch();
return 0;
}…
ecabrera – sdqdr – sep 2013
Descargar