[ Foro de Pascal ]

Contar cada caracter de un file

15-Feb-2019 16:54
Candela Garcia
1 Respuestas

Hola tengo que hacer un programa que cuenta cuantas "a", "b", "C", etc tiene la constitucion argentina, hay alguna funcion o forma de no crear una condicional gigante?
program Constitucion2uno;
uses crt;
var Fc : Text ;
   nom : String;
   art:char;
   cuenta:integer;
BEGIN
   nom:='C:\UBI\CNconSL.TXT';
   Assign(Fc,nom );
ReSet(Fc);
    cuenta:=0;
While not(Eof(Fc)) do begin
Read(Fc, Art);
if IoResult = 0 then
  Else
  Write('IoResult <> 0');
   
   If (art = 'A') or (art = 'a')   then begin
    While Not(Eof(Fc)) and (art = 'A')or (art = 'a') do begin
    cuenta:=cuenta+1;
    Write(Art) ;
    Read(Fc, Art);
    end ;
 
end;
End;
 write(cuenta);
Close(Fc);
END.


19-Feb-2019 13:00
Nacho Cabanes (+83)

En general, no te hará falta crear un condicional gigante, ni con "if" ni con "case". Una alternativa mucho más compacta es usar un array en el que guardarás la cantidad de veces que aparece cada letra.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)