27/04/09 19:45
Anonymous
allora.. il codice complessivamente era ok...
c'era qualche errore ma cosi dovrebbe andare
program anno;
uses crt;
const n=5;
var
emax:integer;
nomi:array[1..n] of string[20];
tempmax:array[1..n] of integer;
tempmin:array[1..n] of integer;
e:array[1..n] of integer;
tmax:integer;
tmin:integer;
procedure acquisirevettore;
var i:integer;
begin
for i:=1 to n do
begin
writeln('inserirsci il nome della citta:');
readln(nomi[i]);
writeln('inserisci la temperatura massima:');
readln(tempmax[i]);
writeln('inserisci la temperatura minima');
readln(tempmin[i]);
end;
end;
procedure maxmin;
var
i:integer;
j:integer;
begin
tmax:=tempmax[1];
tmin:=tempmin[1];
for i:=2 to n+1 do
for j:=2 to n+1 do
begin
if tempmax[i]>tempmax[j] then
tmax:=tempmax[i];
if tempmin[i]<tempmin[j] then
tmin:=tempmin[i];
end;
end;
procedure gestioneescursione;
var
i:integer;
tmax:integer;
tmin:integer;
begin
for i:=1 to n do
e[i]:=tempmax[i]-tempmin[i];
end;
procedure escursionemaggiore;
var
i:integer;
begin
gestioneescursione;
emax:=e[1];
for i:=2 to n do
if e[i]>=emax then
emax:=e[i];
end;
procedure outputvettore;
var
i:integer;
begin
writeln('tmax:',tmax);
writeln('tmin:',tmin);
writeln('emax:',emax);
end;
begin
clrscr;
acquisirevettore;
maxmin;
escursionemaggiore;
outputvettore;
readln;
end.
gli errori principali erano che dentro ai cicli for tu facevi associare a delle normali variabili semplici gli array.. del tipo cosi:
se m è una variabile di tipo intero e vettore è un array che contiene elementi interi tu facevi:
for i=1 to 10 do
vettore=m;
e ciò non può essere, devi fare cosi
for i=1 to 10 do
vettore[i]=m;
perché in questo modo fai associare agli ELEMENTI del vettore che sono elementi semplici di tipo intero, un altro elemento semplice di tipo intero...
cmq poi ho eliminato e corretto sostanzialmente la procedura maxmin e ho messo come variabili globali alcune variabili che tu avevi messo locali ma che servivano globali
p.s.
ah e cosa fondamentale è che dopo il "do" del "for to do" non ce lo devi mettere il punto e virgola, perché sennò il ciclo te lo fa una volta sola invece che 10 volte...
cmq sia questo prog non fa esattamente quello che chiede la domanda perché il testo vuole sapere il nome delle città e non i dati...
quindi ora se sai come fare bene... altrimenti chiedi pure che cercherò di aiutarti, ma si tratta di aggiungere solo una piccola cosa dentro ai cicli for delle proceudre minmax e escursionetermica, e poi un altro writeln dentro alla procedura di output
Ultima modifica effettuata da Anonymous 27/04/09 19:59
aaa