Originariamente inviato da Oiziorbaf
...e devo iniziare gli array, anzi a proposito mi spiegate brevemente cosa sn gli array, sapete sul libro sn descritti in 20 pag, con tanti esempi, però sn sempre tante....
Allora, comincio con un piccolo esempio: mettiamo di voler trovare il massimo tra 4 numeri dati in input: puoi dichiarare quattro variabili a1, a2, a3 e a4, e fare un qualcosa del tipo:
codice:
program massimo_4;
var a1,a2,a3,a4,max : integer;
begin
readln (a1,a2,a3,a4);
max = a1;
if a2 > max then
max = a2;
if a3 > max then
max = a4;
if a4 > max then
max = a4;
writeln ("Il massimo è ",max);
end.
Ma se invece vuoi trovare il massimo tra "n" elementi ?
Qui n è un valore che (in generale) non si conosce a priori se non quando si esegue il programma.
Nel nostro caso il numero di elementi può essere chiesto in input.
Qui entrano in gioco gli array: sono strutture dati composte da più elementi numerati.
Niente aiuta a capire meglio di un esempio:
codice:
program massimo;
var a[1..100],max,n,i : integer;
begin
// lettura in input degli interi
writeln ('Inserisci il numero di elementi : ');
readln (n);
for i = 1 to n do
begin
write ('Inserisci l'elemento numero ',i,' : ');
readln (a[i]);
end
writeln;
// calcolo del massimo
max = a[1];
for i = 2 to n do
if a[i] > max then
max = a[i];
writeln ("Il massimo è ",max);
end.
Con a[i] indichi l'elementi i-esimo dell'array. Così per indicare l'elemento uno, due etc.
il valore all'interno delle parentesi quadre può anche essere un'espressione: es. a[i+3] oppure a[a[i]].
se hai dei problemi fammi sapere