Creato da: fumarinox il 08/11/2005
osservazioni su fenomeni naturali

Area personale

 

Archivio messaggi

 
 << Ottobre 2024 >> 
 
LuMaMeGiVeSaDo
 
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
 
 

Cerca in questo Blog

  Trova
 

FACEBOOK

 
 

I miei Blog Amici

Citazioni nei Blog Amici: 7
 

Ultime visite al Blog

prefazione09Ninfea_candidaahmad785paolo_cdromanticoBOLOGNAlucirobertoCandido84monellaccio19f.tizymuciaciom12ps12Domi_tgiselar_1980fumarinoxstregattodistratto
 

Chi può scrivere sul blog

Solo l'autore può pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
 
RSS (Really simple syndication) Feed Atom
 
 

 

 
« somma di matrici con tur...vettori con turbo pascal... »

vettori con turbo pascall, listato pas

Post n°1762 pubblicato il 06 Febbraio 2014 da fumarinox
 
Foto di fumarinox

esercitazioni con turbopascal v.(3), 5-7
file.pas richiamati con turbo pascal v.5
si forniscono alcune immagini e listato.pas:
possibile copiarlo,incollarlo su notes ,
salvarlo come file.pas, richiamarlo con
turbo pascal v.5  o 7 presente su PC
(dovrebbe funzionare, anche se datato ..1990..2000)

gestione vettori, inserimento, ordinamento, selezione

http://informascienze.altervista.org/algebraturbo/algebraturbo.htm
http://informascienze.altervista.org/algebraturbo/xvetto2.htm

program vetto2; (* variante di vetto1 in SCRIVI *)
(* carica due vettori di interi *)
(* crea un unico vettore con i precedenti *)
(* ordina vettore risultante *)
(* crea vettore senza duplicati *)
(* stampa vettore ordinato *)
uses crt;
const max=100;
type
v=record
va:array[1..max] of integer;
dim:integer;
end;
var a,b,c:v;i,j:integer;

procedure leggi(var x:v);
begin
write('dimensione del vettore < di ',max ,' = ');readln(x.dim);
for i:=1 to x.dim do
begin
write('scrivi valore ',i:2,'-->');readln(x.va[i]);
end;
end;

procedure scrivi(x:v);
begin
for i:=1 to x.dim do
write(x.va[i]:6);
end;

procedure ordina(var x:v);
procedure scambio(var xx,yy:integer);
var a:integer;
begin
a:=xx;
xx:=yy;
yy:=a;
end;

begin
for i:=x.dim downto 2 do
for j:=2 to i do
if (x.va[j-1]>x.va[j]) then
scambio(x.va[j-1],x.va[j])
end;

procedure merge(x,y:v;var z:v);
var ix,iy:integer;
procedure aggiungi(val:integer;var xx:v);
begin
if (xx.dim<max) then
begin
xx.dim:=xx.dim+1;
xx.va[xx.dim]:=val;
end;
end;
procedure aggiungie(xx:v;var index:integer;var yy:v);
begin
aggiungi(xx.va[index],yy);
index:=index+1;
end;

begin
z.dim:=0;
ix:=1;
iy:=1;
while(ix<=x.dim) and (iy<=y.dim) do
begin
if(x.va[ix]<=y.va[iy]) then
aggiungie(x,ix,z)
else
aggiungie(y,iy,z)
end;
while (ix<=x.dim) do
aggiungie(x,ix,z);
while (iy<=y.dim) do
aggiungie(y,iy,z)
end;

procedure unifica(var x:v);
var i,j:integer;
begin
i:=2;j:=1;
while (i<=x.dim) do
begin
if (x.va[i]<>x.va[j]) then
begin
j:=j+1;
x.va[j]:=x.va[i]
end;
i:=i+1;
end;
x.dim:=j;
end;


begin
clrscr;
writeln('carica elementi primo vettore');
leggi(a);
writeln('carica elementi secondo vettore');
leggi(b);
writeln('ordina elementi primo vettore e stampa');
ordina(a);scrivi(a);READLN;
writeln('ordina elementi secondo vettore e stampa');
ordina(b);scrivi(b);READLN;
writeln('crea vettore unico con due vettori');
merge(a,b,c);scrivi(c);readln;
writeln('elimina duplicati e crea vettore risultante');
unifica(c);
writeln('vettore risultante,ordinato,senza duplicati:');
scrivi(c);
readln;
end.

 

 

 
Condividi e segnala Condividi e segnala - permalink - Segnala abuso
 
 
Vai alla Home Page del blog

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963