Olá Simon, dei uma reformulada no programa mas ele ainda não está da maneira esperada:
Program vet ;
var
A: array [1..10] of integer;
ii,j,qntd:integer;
Begin
for ii:=1 to 10 do
begin
witeln ('Digite o valor da posição ',ii,' do vetor');
readln (A[ii]);
end;
for ii:=1 to 10 do
begin
qntd:=0;
for j:=1 to 10 do
begin
if (A[ii]=A[j]) then
qntd:=qntd+1;
end;
if (qntd>1) then
begin
writeln ('O número ', A[ii],' aparece ', qntd, ' vezes.');
end;
end;
readln;
End.
Se eu digito o vetor [1,2,2,1,3,4,5,6,7,2], por exemplo, aparece:
"O número 1 aparece 2 vezes.
O número 2 aparece 3 vezes.
O número 2 aparece 3 vezes.
O número 1 aparece 2 vezes.
O número 2 aparece 3 vezes."
Já fiquei muito tempo pensando e sempre chego na ideia de colocar uma qntd2 pra contar quantas vezes aparece a mensagem pra cada número, e um "if qntd2<2" pra ele escrever a mensagem... Mas isso não dá certo porque toda vez que começa o primeiro "for", a qntd2 é zerada (se não for, só aparece o primeiro número que for repetido).
Você poderia, por favor, falar como arrumo isso? Ou pelo menos dar uma luz (bem forte kk) pra como resolver? Estou precisando desse exercício pra um trabalho urgentemente!
Obrigado.