Ver Mensaje Individual
  #1  
Antiguo 11-01-2012
guillek5 guillek5 is offline
Registrado
NULL
 
Registrado: ene 2012
Posts: 5
Reputación: 0
guillek5 Va por buen camino
Media de caracteres!

Buenas tardes gente!

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,contador_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!
Responder Con Cita