Cita:
Empezado por luisito2011
En la parte de Rojo me salia error(Array Type required)
UpCase(S[i][j])
|
Al ser '
S' un arreglo de
string y el tipo
string un arreglo de caracteres esa línea no genera error en Delphi o Turbo Pascal. Excepto que estés trabajando
en Lazarus, que desconozco si tiene un tratamiento diferente para ese caso.
Acabo de probarlo en consola y también funciona perfectamente:
Código Delphi
[-]
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
max = 5;
var
i, j, cc: Integer;
S: array[1..max] of string;
begin
S[1]:= 'La';
S[2]:= 'CasA';
S[3]:= 'de la';
S[4]:= 'Arboleda';
S[5]:= 'tupidA';
cc:= 0;
for i:= 1 to max do
for j:= 1 to Length(S[i]) do
if UpCase(S[i][j]) = 'A' then Inc(cc);
writeln(cc);
readln;
end.
Es realmente raro...
En cuanto a este código:
Código Delphi
[-]
var
i,cc : Integer;
begin
cc:= 0;
for i:= 1 to Length(S) do
if upCase(S[i]) = 'A' then
cc:=cc+1;
result:=cc;
end;
No está contando la cantidad de apariciones de la letra '
A'/ '
a', esta comparando si cada cadena del arreglo '
S' es igual a la letra 'A'. Tenés que evaluar cada caracter de cada
string del arreglo '
S'.
Un saludo.