Nota: Devi essere registrato per poter inserire un messaggio. Per registrarti, clicca qui. La Registrazione è semplice e gratuita!
V I S U A L I Z Z A D I S C U S S I O N E
eliopiu
Inserito il - 07/02/2005 : 17:08:51 Laboratorio di Programmazione 31 gennaio 2005 Corso B Scrivere un programma in Pascal in grado di : - Caricare da tastiera un vettore di record dove ogni singolo elemento rappresenta una data nel formato giorno,mese,anno - Visualizza il vettore caricato - Calcolare e visualizzare la data massima e minima presenti all'interno del vettore
Esempio
INPUT 12/1/2005,31/12/2004,2/1/1990,1/2/1991; OUTPUT MIN = 2/1/1990 MAX = 12/1/2005
Non riesco a risolvere il terzo punto nel caso di date con lo stesso anno... Chi mi da una mano??
program arraydirecord (input,output); uses crt; type data = record giorno : 1..31; mese : 1..12; anno : 1990..2006; end; const Max_ele = 4; var vet: array[1..Max_ele]of data; n:integer; function immissione:integer; var n,i:integer; begin writeln; writeln('IMMISSIONE GIORNO - MESE - ANNO'); writeln; repeat write('Quante date desideri inserire ? (max 4) : '); readln(n); until (n>=1) and (n<=4); writeln; for i:=1 to n do begin write('Giorno : '); readln(vet[i].giorno); write('Mese : '); readln(vet[i].mese); write('Anno : '); readln(vet[i].anno); writeln; end; writeln; write('Premi invio per continuare...'); readln; immissione:=n; end; procedure visualizza(n:integer); var i:integer; begin clrscr; writeln; writeln('DATE '); for i:=1 to n do begin writeln; writeln(' DATA ',i); write(vet[i].giorno,'/',vet[i].mese,'/',vet[i].anno); writeln; end; writeln; write('Premi invio per continuare...'); readln; end; procedure minmax(n:integer); var i,minanno:integer; begin clrscr; writeln('MASSIMO E MINIMO'); minanno:=vet[1].anno; for i:=2 to n do if vet[i].anno < minanno then minanno:=vet[i].anno; writeln; writeln('MIN = ',minanno); readln; end; begin n:=immissione; visualizza(n); minmax(n); end.