|
|
|
![]() |
|
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 22: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: 02:03.