Pascal/Turbo Pascal - ayuda porfavor!! con este ejercicio de string! nose como resolverlo!!

   
Vista:

ayuda porfavor!! con este ejercicio de string! nose como resolverlo!!

Publicado por tatii (1 intervención) el 19/06/2016 16:51:14
como lo resuelvo???

Se lee una secuencia de caracteres terminada en '.' - Contar la cantidad de palabras de a lo
sumo nueve caracteres que no empiezan ni terminan con 'r', y en total tienen tres 'a'.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Pascal/Turbo Pascal
- Código fuente de Pascal/Turbo Pascal
- Cursos de Pascal/Turbo Pascal
- Temas de Pascal/Turbo Pascal
- Chat de Pascal/Turbo Pascal
información
Códigos de Pascal/Turbo Pascal
- Números Primos
- Serpiente
- Matematicas

ayuda porfavor!! con este ejercicio de string! nose como resolverlo!!

Publicado por ramon (2072 intervenciones) el 21/06/2016 22:52:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{Esto valdría}
 
program cadenas;
 uses
    crt;
  type
    string9 = string[9];
  var
    cadena : string;
    c, g, h, t : integer;
    temp : string[20];
    car : char;
 
    function escaraternu(cr : char) : boolean;
    var
      si : boolean;
    begin
       si := false;
       if cr = #8 then
       si := true;
       if cr = #13 then
       si := true;
       if cr = #46 then
       si := true;
       escaraternu := si;
    end;
 
    procedure entrada_cadena(var ca : string);
    begin
     clrscr;
     gotoxy(2,2);write('   Entre Caracteres En La Cadena [.] finaliza Entrada');
     gotoxy(2,4);write('  Entrada : ');
     h := 14;
     t := 1;
     c := 4;
     repeat
        car := readkey;
        if not escaraternu(car) then
        begin
           ca[t] := car;
           ca[0] := chr(t);
           gotoxy(h,c);write(ca[t]);
           t := t + 1;
           h := h + 1;
           if t > 255 then
           t := 255;
        end;
        if car = #8 then
        begin
           t := t - 1;
           h := h - 1;
           if t < 1 then
           begin
           t := 1;
           h := 14;
           end;
           ca[t] := ' ';
           ca[0] := chr(t);
           gotoxy(h,c);write(' ');
        end;
        if car = #13 then
        begin
           c := c + 1;
           if c > 24 then
           c := 24;
           h := 14;
        end;
     until car = '.';
     ca[t] := ' ';
     ca[0] := chr(t);
   end;
 
 
   function tiene_tres_y_nueve(tt : string9) : boolean;
   begin
      tiene_tres_y_nueve := false;
      if (length(tt) > 2) and (length(tt) < 10) then
      tiene_tres_y_nueve := true;
   end;
 
   function tiene_tres_as(tt : string9) : boolean;
   var
     cont, re : integer;
   begin
      tiene_tres_as := false;
      if tiene_tres_y_nueve(tt) then
       if (upcase(tt[1]) <> 'R') and (upcase(tt[length(tt)]) <> 'R') then
       begin
          cont := 0;
          for re := 1 to length(tt) do
          if upcase(tt[re]) = 'A' then
          cont := cont + 1;
       end;
       if cont = 3 then
       tiene_tres_as := true;
   end;
 
   procedure recorrecadena(ca : string);
   var
     nume, ss, cn : integer;
   begin
       clrscr;
       ss := 1;
       nume := 0;
       for cn := 1 to length(ca) do
       begin
          if ca[cn] <> ' ' then
          begin
             temp[ss] := ca[cn];
             temp[0] := chr(ss);
             ss := ss + 1;
             if ss > 20 then
             ss := 20;
          end
        else
           begin
              if tiene_tres_as(temp) then
              begin
                writeln(temp);
                nume := nume + 1;
              end;
               ss := 1;
               temp := ' ';
           end;
       end;
        if nume > 0 then
        writeln('  Total Palabras = ',nume)
     else
        writeln('  No Palabras = ',nume);
        writeln;
        writeln('   Pulse Una Tecla');
        readkey;
   end;
 
 
 
   begin
       entrada_cadena(cadena);
       recorrecadena(cadena);
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda porfavor!! con este ejercicio de string! nose como resolverlo!!

Publicado por Cesar (3 intervenciones) el 24/06/2016 05:09:58
explicate mejor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar