SoloCodigo

Programación General => Pascal => Mensaje iniciado por: esplu en Miércoles 6 de Enero de 2010, 17:07

Título: exit code 201: Alguien puede decirme xk falla el programa
Publicado por: esplu en Miércoles 6 de Enero de 2010, 17:07
Hola!!
Estoy resolviendo un problema sobre contar letras de una frase. Llevo hecho esto del programa, pero no se porque falla, me gustaria saber donde para poder corregirlo, asi que a ver si alguien me pudiese echar una mano. Gracias, soy nuevisima en programacion y me gustaria sacarlo adelante.

program contar;

uses crt;
var
frase:string;
i:integer;
letra:char;
frecuencia:array['a'..'z'] of integer;

begin
 clrscr;
 begin
  write('escribe una frase: ');
  read(frase);
  for i:=1 to length(frase) do
  letra:=frase[i+1];
  end;
  frecuencia[letra]:=0;
  if letra>='a' and letra<='z' then
  frecuencia[letra]=frecuencia[letra]+1;
  for letra:='a' to 'z' do
  if frecuencia[letra]>0 then
  writeln('frecuencia de',letra,':',frecuencia[letra]);
 readkey;
end.
Título: Re: exit code 201: Alguien puede decirme xk falla el programa
Publicado por: epayan en Miércoles 6 de Enero de 2010, 23:03
te desborda la pila del string, al poner i+1

Código: Pascal
  1.  
  2. for i:=1 to length(frase) do
  3. letra:=frase[i+1];
  4. end;
  5.  

trata de dejarlo solo con este codigo:
Código: Pascal
  1.  
  2. for i:=1 to length(frase) do
  3. letra:=frase[i];
  4. end;
  5.  


aun que este problema ya se resolvio en otro foro

Código: Pascal
  1.  
  2.  
  3. program Fercuencia;
  4. uses crt;
  5.  
  6. var
  7. letra:char;
  8. Frase:string;
  9. Frecuencia : array ['a'..'z'] of longint;
  10. contador:integer;
  11. columna:integer;
  12.  
  13. Begin
  14.  
  15. clrscr;
  16. gotoxy(1,20);write('pulse . para salir...');
  17.  
  18. Repeat
  19. Columna:=1;
  20.  
  21. for contador:=1 to 26 do
  22. begin
  23. gotoxy(1+columna,1);write(chr(96+contador));
  24. gotoxy(1+columna,2);write(Frecuencia[chr(96+contador)]);
  25. inc(columna,3);
  26. end;
  27.  
  28. gotoxy(1,10);write('Proporcione una Frase :');
  29. Letra:=Readkey;
  30.  
  31. If letra in ['a'..'z'] then
  32. Begin
  33. Frecuencia[letra]:= Frecuencia[letra] + 1;
  34. End;
  35. Frase:=Frase+letra;
  36. gotoxy(1,11);write(frase);
  37. Until Letra = '.';
  38.  
  39. End.
  40.  
  41.  
  42.  


h t t p :  / / http://www.lawebdelprogramador.com/news ... &n9=0&n0=0 (http://www.lawebdelprogramador.com/news/mostrar_new.php?id=69&texto=Pascal/Turbo+Pascal&n1=551400&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0" onclick="window.open(this.href);return false;)
Título: Re: exit code 201: Alguien puede decirme xk falla el programa
Publicado por: esplu en Miércoles 6 de Enero de 2010, 23:23
Ey muchas gracias, se solucionó ese problema, ahora tengo que terminar de perfilar el ejercicio, pero por lo menos ya no voy tan perdida, muchas gracias de verdad. Un saludo