JoniJnm.es - Forum Kunena Site Syndication http://www.jonijnm.es/ Thu, 09 Feb 2012 06:05:37 +0000 Kunena 1.6 http://www.jonijnm.es/web/components/com_kunena/template/default/images/icons/rss.png JoniJnm.es - Forum http://www.jonijnm.es/web/ en-gb Asunto: Media de caracteres! - por: guillek5 http://www.jonijnm.es/web/foro/pascal/19836-media-de-caracteres.html#19836 http://www.jonijnm.es/web/foro/pascal/19836-media-de-caracteres.html#19836
Veréis he tenido que hacer para clase una práctica en la que se nos pide:

-Leer una frase por pantalla (compuesta por un máximo de 25 palabras separadas por
blancos, cada una de ellas con un tamaño máximo de 15 caracteres) y calcule la media de caracteres de la palabras introducidas.

Aparte de esto pedían varias cosas mas, yo esta parte la he hecho creando un vector de registros y haciendo un procedimiento que llamaba a este, pero hoy al enseñárselo al profesor me ha dicho que no le vale ya que el quiere que coja la cadena ,la meta en el vector y cuente las palabras en la propia cadena.

Os deja la parte de código:

//Aquí el bloque declarativo
 
const
max=100;
max1=10;
nummax=100;
numle=15; //Numero maximo de letras
numpal=25; // Numero maximo de palabras
ttexto=250; //Numero total de texto
 
type
d1=1..max1;
matriz=array[d1,d1] of integer;
 
cadena=string[ttexto];
registrop=record
palabra:string[numle];
tmax:integer;
end;
 
vector1=array[1..numpal] of registrop;
 
// Y aquí la función en la que tengo la duda
 
Function media_car(v:vector1;t_car,cont:integer):real;
begin
for i:=1 to contador_palabras do
begin
writeln('La media de caracteres de la palabra numero ',i,' es: ',(length(vector[i].palabra)-1));
total_caracteres:=total_caracteres+(length(vector[i].palabra)-1);
end;
media_car:=total_caracteres/contador_palabras;
 
end;
 
//Por ultimo el código donde se llama a esta función:
 
2:begin
writeln('Media de caracteres');
writeln;
total_caracteres:=0;
mediacar:=media_car(vector,total_caracteres,contad or_palabras); // Aqui llaamamos a la funcion para calcular la media de caracteres
writeln;
writeln('La media exactamente es: ',mediacar:0:2);
writeln;
write('Seguimos? ');
answer:=respuesta;
 
end;


Agradecería mucho que alguien que pueda me eche una mano de verdad! Tengo de plazo hasta el lunes para cambiar esto, así que lo dicho buenas tardes y gracias de antemano!]]>
Pascal Wed, 11 Jan 2012 16:09:11 +0000