Newsgroup: it.comp.lang.pascal
Titolo: Array e loro utilizzo.

Salve.Avrei un problemino con gli array. dopo aver dichiarato un array
bidimensionale
ary:array[1..3 , 1..3] of real
vorrei sapere tutte le istruzioni necessarie(dall'inserimento di dati e indici)
per arrivare a moltiplicare tra loro gli elementi, come per trovare il
determinanate di una matrice. Grazie a tutti per l'aiuto e la necessaria
pazienza. saluti
Federico
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Federico
allora allora Federico..
le operazioni all'interno di array sono come se usassi una var. normale,
solo
che devi usare un indice.. fin qui tutto ok..
es.
moltiplichiamo prima riga prima colonna (1,1) per terza riga terza colonna
(3,3)
e poniamo il risultato in (1,1) ok?
ary[1,1]:=ary[1,1]*ary[3,3];
adesso per esempio facciamo finta che tu voglia sommare tutti gli elementi
della riga 1 con i rispettivi della riga 2 e mettere le somme nella riga tre
ok?
usiamo un ciclo for che va da 1 a 3.
var j,k:=integer;
matrix:array[1..3,1..3] of real;
{inseriamo i valori, sempre con un ciclo for}
for j:=1 to 3 do begin
    for k:=1 to 2 do readln(matrix[j,k])
end:
cosi inseriamo in una matrice come questa
A B C
D E F
G H J
i valori a,b,c,d,e,f. nei valori g,h,j mettiamo le somme
in questo modo:
for j:=1 to 3 do begin
    matrix[j,3]:=matrix[j,1]+matrix[j,2];
ok?
ecco.. di più non so che dirti. se hai bisogno di qualcosa,
chiedimi pure.
Per il calcolo del determinante io ho già avuto questo problema
(più che altro mi è stato imposto dai prof a scuola..)
Se vuoi ti posso inviare il progettino (che per me è abbastanza
complicato, più che altro per i tanti controlli che devi fare)
Ciao, Augusto

 Ciao, Augusto
Innanzi tutto grazie per le spiegazioni e per gli esempi. Per ora 
mi hai chiarito abbastanza le cose, almeno fino a domani, dato che 
ho compito di sistemi. vediamo cosa metterà, ma credo un programmino
che utilizzi array a pieno. Io speriamo che me la cavo.
Per il progettino: se ti va puoi inviarmelo, sia su forum oppure 
via mail , 
fe...@ngi.it
Ciao e grazie ancora


Aggiungerei solo che, ad esempio, le stringhe possono essere viste come dei
vettori di caratteri, e per la loro gestione è possibile sfruttare funzioni
e procedure apposite: ma questa è un'altra storia.... :-)
Ciauz
--
KNOWLEDGE IS POWER
http://www.sverzat.com
¯`·.           .·´¯`:
'·.   .`·.   .·´.   .·'
   `:--·´   `·--:´
      `·. '_' .·
        ;`·-·´;

Cosa c'e di sbagliato nel seguente listato? il Free pascal me lo esegue ma
alla fine mi si blocca e torna alla pagina di inserimento codice.
Program uso_array;
var vettore:array[1..5] of integer;
var i,b: integer;
var somma: integer;
begin
for i:=1 to 5 do
readln(vettore[i]);
writeln('array di  elementi completo');
readln;
for b:=0 to 5 do
somma:= vettore[b+1];
readln;
end.
Grazie a tutti per l'aiuto.
Saluti


 end.
Nel secondo ciclo enumerativo puoi:
- partire da 1 e ciclare fino a 5 sostituendo b+1 con b
- partire da 0 e ciclare fino a 4 lasciando b+1


 - partire da 0 e ciclare fino a 4 lasciando b+1
lasciando inviarate le dichiarazione di variabili, ho scelto:
for b:=1 to 5 do
somma:= vettore[b];
writeln(somma);
readln;
Pero' mi stampa a video solo l'ultimo valore inserito nell'array non
la somma di tutti i valori inseriti maleeeeeeeedizioneeeee
Sapresti perchč?


 readln;
definire il blocco potrebbe essere utile :-)
--
Dreadnaut (dn)
drea...@liberoDALLASPAM.it
(Life would be easier if I had the source code)

 Sapresti perchè?
Perchè non fai la somma ma assegni semplicemente il valore della cella
considerata alla variabile somma :)
Dovresti fare
somma:= somma+vettore[b];
