salve a tutti mi servirebbe un favore enorme .. faccio l'informatico il 3 anno e come compito ci è stato assegnato quello di creare un programma che faccia la simuazione di un corso d'acqua su un'isola ..praticamente il programma per prima cosa ci deve chiedere tutte le varie altezze del'isola ( fatta tramite una matrice ) e doo di che ci chiede il punto della sorgente e poi crea il corso ... tutto questo l'ho gia' fatto ma ora manca la parte grafica..cioe' dovrei visualizzare graficamente l'isola e questo corso .. vi scrivo la parte del programma che ho gia' fatto e chiede se possibilmente qlcn è in grado di farmi la parte grafica . sto veramente in crisi .. grazie mille
Codifica:
program simulazione;
uses crt;
const r=4;
c=4;
type mat=array[1..r,1..c] of integer;
var i,j,rsorg,csorg,sce,ri,co:integer;
m:mat;
procedure menu;
begin
clrscr;
writeln(' 1 - Inserimento dati isola ');
writeln(' 2 - Inserimento coordinate sorgente ');
writeln(' 3 - Visualizza corso ');
writeln(' 4 - Salvataggio dati sorgente ');
writeln(' 5 - Caricamento dati sorgente ');
writeln(' 6 - uscita ');
writeln;
write(' scelta : ');
readln(sce);
end;
procedure altezza;
begin
clrscr;
for i:=1 to r do
for j:=1 to c do
begin
textcolor(white);
writeln('inserici altezza riga ',i,' colonna ' ,j,'');
readln(m[i,j]);
end;
end;
procedure sorgente;
begin
textcolor(white);
writeln(' indica le coordinate della sorgente');
write('riga: ');
readln(rsorg);
write('colonna: ');
readln(csorg);
writeln(' hai scelto la cella riga: ',rsorg,' colonna: ',csorg);
end;
procedure corso;
var rmin,cmin,minimo:integer;
begin
repeat
minimo:=m[rsorg,csorg];
rmin:=rsorg;
cmin:=csorg;
for ri:=rsorg-1 to rsorg+1 do
for co:=csorg-1 to csorg+1 do
if m[ri,c]<minimo then
begin
minimo:=m[ri,co];
rmin:=ri;
cmin:=co;
end;
rsorg:=rmin;
csorg:=cmin;
writeln(' il corso segue le seguenti coordinate ');
writeln(' --------------------------------------');
writeln('riga: ',rsorg);
writeln('====================');
writeln('colonna: ',csorg);
writeln('====================');
writeln('====================');
until (rmin=r) or (rmin=1) or (cmin=c) or (cmin=1);
textcolor(lightblue);
writeln(' il corso Š arrivato al mare !! ');
textcolor(white);
readln;
end;
procedure salva;
begin
writeln(' in costruzione ');
delay (150);
end;
procedure carica;
begin
writeln(' in costruzione ');
delay (150);
end;
begin
repeat
menu;
case sce of
1:altezza;
2:sorgente;
3:corso;
4:salva;
5:carica;
end;
until sce=6;
readln;
end.
Codifica:
program simulazione;
uses crt;
const r=4;
c=4;
type mat=array[1..r,1..c] of integer;
var i,j,rsorg,csorg,sce,ri,co:integer;
m:mat;
procedure menu;
begin
clrscr;
writeln(' 1 - Inserimento dati isola ');
writeln(' 2 - Inserimento coordinate sorgente ');
writeln(' 3 - Visualizza corso ');
writeln(' 4 - Salvataggio dati sorgente ');
writeln(' 5 - Caricamento dati sorgente ');
writeln(' 6 - uscita ');
writeln;
write(' scelta : ');
readln(sce);
end;
procedure altezza;
begin
clrscr;
for i:=1 to r do
for j:=1 to c do
begin
textcolor(white);
writeln('inserici altezza riga ',i,' colonna ' ,j,'');
readln(m[i,j]);
end;
end;
procedure sorgente;
begin
textcolor(white);
writeln(' indica le coordinate della sorgente');
write('riga: ');
readln(rsorg);
write('colonna: ');
readln(csorg);
writeln(' hai scelto la cella riga: ',rsorg,' colonna: ',csorg);
end;
procedure corso;
var rmin,cmin,minimo:integer;
begin
repeat
minimo:=m[rsorg,csorg];
rmin:=rsorg;
cmin:=csorg;
for ri:=rsorg-1 to rsorg+1 do
for co:=csorg-1 to csorg+1 do
if m[ri,c]<minimo then
begin
minimo:=m[ri,co];
rmin:=ri;
cmin:=co;
end;
rsorg:=rmin;
csorg:=cmin;
writeln(' il corso segue le seguenti coordinate ');
writeln(' --------------------------------------');
writeln('riga: ',rsorg);
writeln('====================');
writeln('colonna: ',csorg);
writeln('====================');
writeln('====================');
until (rmin=r) or (rmin=1) or (cmin=c) or (cmin=1);
textcolor(lightblue);
writeln(' il corso Š arrivato al mare !! ');
textcolor(white);
readln;
end;
procedure salva;
begin
writeln(' in costruzione ');
delay (150);
end;
procedure carica;
begin
writeln(' in costruzione ');
delay (150);
end;
begin
repeat
menu;
case sce of
1:altezza;
2:sorgente;
3:corso;
4:salva;
5:carica;
end;
until sce=6;
readln;
end.