gd020188
21-11-2008, 19:54
Salve a tutti. Sono nuovo di queste parti. Frequento l'università e sono negato per l'informatica. Quindi mi chiedevo se potete darmi una mano nel risolvere i miei dubbi su algoritmi che per voi saranno sicuramente stupidaggini.
Devo sviluppare un algoritmo per l'ordinamento di un array tramite il metodo di selezione del massimo.
Questo è quello che ho sviluppato. Per scrivere l'algoritmo su foglio, uso il Pascal Like (o almeno questo mi pare sia il nome del linguaggio che ci è stato dato per fare queste stesure su foglio), e per metterlo sul PC uso il Fortran90.
Vi lascio l'algoritmo in Pascal Like: mi dite se è giusto? Grazie
begin ord_sel
var : A[10] : array of real
var : t,max : real
var : i,j,m,n,p : integer
read n
for i=1 to n do
read A[i]
endfor
for i=1 to n-1 do
m:=n-i+1
p:=1
max:=A[1]
for j=2 to m
if (A[j]>max) then
p:=j
max:=A[j]
endif
endfor
t:=A[m]
A[m]:=A[p]
A[p]:=t
endfor
for i=1 to n do
print A[i]
endfor
end ord_sel
Devo sviluppare un algoritmo per l'ordinamento di un array tramite il metodo di selezione del massimo.
Questo è quello che ho sviluppato. Per scrivere l'algoritmo su foglio, uso il Pascal Like (o almeno questo mi pare sia il nome del linguaggio che ci è stato dato per fare queste stesure su foglio), e per metterlo sul PC uso il Fortran90.
Vi lascio l'algoritmo in Pascal Like: mi dite se è giusto? Grazie
begin ord_sel
var : A[10] : array of real
var : t,max : real
var : i,j,m,n,p : integer
read n
for i=1 to n do
read A[i]
endfor
for i=1 to n-1 do
m:=n-i+1
p:=1
max:=A[1]
for j=2 to m
if (A[j]>max) then
p:=j
max:=A[j]
endif
endfor
t:=A[m]
A[m]:=A[p]
A[p]:=t
endfor
for i=1 to n do
print A[i]
endfor
end ord_sel