|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Bisogna solo far andare le celle vuote alla fine....per il resto funziona...ho messo anche la procedura che vi stampa la matrice...
Codice:
Program OrdinaMatrice;
uses crt;
Const R=3;
C=4;
Var A:Array[1..R,1..C] of string;
{procedura di ordinamento}
procedure ordina;
var i,j:integer;
rigaI,colonnaI,rigaJ,colonnaJ:integer;
temp:string;
begin
{ordina la matrice}
for i:=1 to ((r*c)-1) do
begin
colonnai:=4-(i mod 12);
rigai:=3-(i div 12);
for j:=(i+1) to (r*c) do
begin
colonnaj:=4-(j mod 12);
rigaj:=3-(j div 12);
if a[rigai,colonnai]<a[rigaj,colonnaj] then
begin
temp:=a[rigai,colonnai];
a[rigai,colonnai]:=a[rigaj,colonnaj];
a[rigaj,colonnaj]:=temp;
end;
end;
end;
{stampa la matrice}
for i:=1 to r do
begin
for j:=1 to c do
write('| ',a[i,j]);
writeln;
end;
readln;
end;
{main del programma}
begin
clrscr;
a[1,1]:='anno';
a[1,2]:='casa';
a[1,4]:='chiesa';
a[2,3]:='elmo';
a[2,4]:='gatto';
a[3,1]:='luna';
a[3,2]:='nave';
ordina;
end.
modificato in questo modo fa esattamente quello che volevi tu...anche con le celle vuote Codice:
Program OrdinaMatrice;
uses crt;
Const R=3;
C=4;
Var A:Array[1..R,1..C] of string;
{procedura di ordinamento}
procedure ordina;
var i,j:integer;
rigaI,colonnaI,rigaJ,colonnaJ:integer;
temp:string;
begin
{ordina la matrice}
for i:=1 to ((r*c)-1) do
begin
colonnai:=(i mod 12);
rigai:=(i div 12)+1;
for j:=1 to (r*c) do
begin
colonnaj:=(j mod 12);
rigaj:=(j div 12)+1;
if a[rigai,colonnai]='' then a[rigai,colonnai]:='~~';
if a[rigaj,colonnaj]='' then a[rigaj,colonnaj]:='~~';
if a[rigai,colonnai]<a[rigaj,colonnaj] then
begin
temp:=a[rigai,colonnai];
a[rigai,colonnai]:=a[rigaj,colonnaj];
a[rigaj,colonnaj]:=temp;
end;
if a[rigaj,colonnaj]='~~' then a[rigaj,colonnaj]:='';
if a[rigai,colonnai]='~~' then a[rigai,colonnai]:='';
end;
end;
{stampa la matrice}
for i:=1 to r do
begin
for j:=1 to c do
write('| ',a[i,j]);
writeln;
end;
readln;
end;
{main del programma}
begin
clrscr;
a[1,1]:='anno';
a[1,2]:='casa';
a[1,4]:='chiesa';
a[2,3]:='elmo';
a[2,4]:='gatto';
a[3,1]:='luna';
a[3,2]:='nave';
ordina;
end.
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC Ultima modifica di leadergl : 06-07-2005 alle 23:55. |
|
|
|
|
|
#42 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
Grazie!!!
Stavo continuando a scervellarmici su...
__________________
Thermaltake Armor VA8000SWA**Corsair CMPSU-620HX**Intel Core 2 Quad Q9450 **Asus P5Q Deluxe**Corsair Dominator 2x2GB PC8500 1066Mhz-555 XMS2**Sapphire Vapor-X HD7970 GHz Edition 3GB GDDR5**Samsung SSD 830 256GB**WD Caviar 1TB SATA**Creative X-Fi Elite Pro **Pioneer DVR-215D**Altec Lansing FX6021**Crossover 2720MDP**Logitech diNovo Cordless Desktop**Cooler Master Storm Sentinel Advance on Razer eXactMat |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:50.



















