Algoritmos básicos. Todas tus dudas.
Si tenés dudas con cualquier algoritmo hazmelo saber, soy estudiante de la Universidad de Ciencias Informáticas de Cuba.
Pues mira,yo tengo una duda:
Se trata de que necesito cargar un vector con una cadena pero de varias lineas,es decir,el programa te pide que le introduzcas un texto y ha de permitir que sea de varias lineas.
Ni siquiera estoy seguro de si se puede hacer,creo que con " getchar()!=EOF" o algo asà me dejarÃa pero no domino "getchar" y no se usarlo.
Te dejo el enunciado completo del programa para que te orientes más en lo que hay que hacer:
GRACIAS ADELANTADAS
"Realiza un programa que ponga en mayúsculas el primer carácter de una cadena de caracteres (texto),introducida por la entrada estandar,y todo carácter que le siga a un punto.Utiliza un puntero llamado (ptexto).Una vez corregido el texto introducido el programa tendrá que calcular el número de linias (nl),el número de espacios en blanco (nb) y el número de vocales (nv),que tiene el texto.Por último,el programa tendrá que presentar en la salida estandar el texto corregido y también nl,nb y nv,con un mensage que indique que a continuación saldrá lo que se pide."
P.D:No es por agobiar pero es que lo necesitarÃa para este lunes y me URGE un pokÃn...
Saludos y gracias otra vez.
Se trata de que necesito cargar un vector con una cadena pero de varias lineas,es decir,el programa te pide que le introduzcas un texto y ha de permitir que sea de varias lineas.
Ni siquiera estoy seguro de si se puede hacer,creo que con " getchar()!=EOF" o algo asà me dejarÃa pero no domino "getchar" y no se usarlo.
Te dejo el enunciado completo del programa para que te orientes más en lo que hay que hacer:
GRACIAS ADELANTADAS
"Realiza un programa que ponga en mayúsculas el primer carácter de una cadena de caracteres (texto),introducida por la entrada estandar,y todo carácter que le siga a un punto.Utiliza un puntero llamado (ptexto).Una vez corregido el texto introducido el programa tendrá que calcular el número de linias (nl),el número de espacios en blanco (nb) y el número de vocales (nv),que tiene el texto.Por último,el programa tendrá que presentar en la salida estandar el texto corregido y también nl,nb y nv,con un mensage que indique que a continuación saldrá lo que se pide."
P.D:No es por agobiar pero es que lo necesitarÃa para este lunes y me URGE un pokÃn...
Saludos y gracias otra vez.
Mira mi forma de ayudar es decirte que con cualquier función que utilices én la entrada del texto dará igual. Luego en el recorrido por el texto es que tendrás que comprobar cada posición de cada letre, ej letra[34], con el uso correcto de condicionales comprovarás tantas veces alla una ocurrencia de un punto, vocal o cualquier cosa que busques y debes ir guardando cada vez que las encuentres en variables distintas que te ayudarán a mostrar su ocurrencia. Por otra parte te recomiendo guardar en un arreglo todas las posiciones donde se encuentre un punto más la de la letra inicial, luego ya guardado te será muy fácil cambiarlo.
Para lo de contar las cosas y encontrar los puntos creo que me las podré apañar, pero el problema está en que si por ejemplo uso la función \"gets(texto)\" para que introduzca el texto en el array,despúes,al ejecutar el programa,si la persona que está introduciendo el texto aprieta ENTER para cambiar de lÃnea,el programa entiende que ya se ha acabado el texto que se querÃa escribir y lo mete en el array .
Es decir,que no deja que le metas un texto de varias lÃneas, no se si me explico.
A ver si tienes alguna idea,SALUDOS.
Es decir,que no deja que le metas un texto de varias lÃneas, no se si me explico.
A ver si tienes alguna idea,SALUDOS.
ya lo solucioné;
#include <stdio.h>
#include<conio.h>
#include<ctype.h>
main()
{
int c,nl=0,nb=0,nv=0,i=0,a;
char text[300];
char *ptext;
printf ("Introdueix el text.\n(Ctrl+Z per finalitzar)\n\n");
/*CARREGUEM EL VECTOR*/
while ((c=getchar())!=EOF)
{
ptext=&text[i];
i++;
*ptext=c;
}
/*CORRECCIÓ Y COMPTES*/
ptext=&text[0];
text[0]=toupper(text[0]);
while(*ptext)
{
if(*ptext==\'.\')
{
ptext++;
if (*ptext==\' \')/*per a que ho passi a Mayusc. encara que hi hagi un espai després del punt*/
ptext++;
*ptext=toupper(*ptext);
}
if (*ptext==\'\n\')
nl++;
if (*ptext==\' \')
nb++;
if (*ptext==\'a\'||*ptext==\'e\'||*ptext==\'i\'||*ptext==\'o\'||*ptext==\'u\')
nv++;
ptext++;
}
/*PRESENTACIÓ TEXT CORREGIT I DADES*/
printf ("\n\nCorrecci\x0E0:\n\n");
for (a=0;a<i;a++)
printf ("%c",text[a]);
printf("\n\nA continuaci\x0E0 sortiran les dades que es demanen:\n\n\tnl = %d\n\tnb = %d\n\tnv = %d",nl,nb,nv);
getch();
}
#include <stdio.h>
#include<conio.h>
#include<ctype.h>
main()
{
int c,nl=0,nb=0,nv=0,i=0,a;
char text[300];
char *ptext;
printf ("Introdueix el text.\n(Ctrl+Z per finalitzar)\n\n");
/*CARREGUEM EL VECTOR*/
while ((c=getchar())!=EOF)
{
ptext=&text[i];
i++;
*ptext=c;
}
/*CORRECCIÓ Y COMPTES*/
ptext=&text[0];
text[0]=toupper(text[0]);
while(*ptext)
{
if(*ptext==\'.\')
{
ptext++;
if (*ptext==\' \')/*per a que ho passi a Mayusc. encara que hi hagi un espai després del punt*/
ptext++;
*ptext=toupper(*ptext);
}
if (*ptext==\'\n\')
nl++;
if (*ptext==\' \')
nb++;
if (*ptext==\'a\'||*ptext==\'e\'||*ptext==\'i\'||*ptext==\'o\'||*ptext==\'u\')
nv++;
ptext++;
}
/*PRESENTACIÓ TEXT CORREGIT I DADES*/
printf ("\n\nCorrecci\x0E0:\n\n");
for (a=0;a<i;a++)
printf ("%c",text[a]);
printf("\n\nA continuaci\x0E0 sortiran les dades que es demanen:\n\n\tnl = %d\n\tnb = %d\n\tnv = %d",nl,nb,nv);
getch();
}
Necesito saber como puedo extraer los decimales de un numero y tambien como contarlos, por ejemplo:
0.25 , serian 2 decimales y el 25. Gracias
0.25 , serian 2 decimales y el 25. Gracias
Tengo dudas sobre el alineamiento de cadenas, tengo q hacer un programa q ponga una matriz q alinee 2 cadenas , q cuando le des al boton calcular te calcule el camino mas rapido. en esta pagina lo explica mejor. http://darwin.uvigo.es/people/fabascal/Teaching/Alineamiento_secuencias/teoria.html
es un programa q me han mandao aki en las practicas de empresa y sinceramente no tengo ni idea. ayuda!!!!
es un programa q me han mandao aki en las practicas de empresa y sinceramente no tengo ni idea. ayuda!!!!
