|
|
|
![]() |
|
Strumenti |
![]() |
#21 | |
Senior Member
Iscritto dal: Sep 2002
Messaggi: 393
|
Quote:
Preparati gli esercizi e gli eventuali errori che hai fatto + gli algoritmi di ordinamento. Io spero di passarlo nell'appello del 19 luglio.... Ciao |
|
![]() |
![]() |
![]() |
#22 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
c'ero anche io a quell'esame...con Burattini..ma nel mio compito non c'era quest'esercizio. vi posso chiedere una cosa? 1) ma gli orali stavano oggi? 2) ma il progetto di laboratorio entro quando andava consegnato?
__________________
| 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 |
|
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Sep 2002
Messaggi: 393
|
Quote:
Ciao |
|
![]() |
![]() |
![]() |
#24 |
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Ragazzi, il forum non è una chat
Rischiate di farvi chiudere il tread ![]()
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
![]() |
![]() |
![]() |
#25 | |
Senior Member
Iscritto dal: Sep 2002
Messaggi: 393
|
Quote:
cmq io ora stacco e continuo a studiare. Ci sentiamo CIao a tutti |
|
![]() |
![]() |
![]() |
#26 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
eh...io il MOD B devo fare...non sai entro quando andava consegnato...xkè io ero andato a tentare lo scritto del MOD B x vedere d che si trattava, quindi nn avevo fatto il progetto, poi ho visto che gli esercizi erano semplici...e l'ho un po preso a quel posto...xkè senza progetto.... solo che i risultati uscivano, mi pare, e mi chiedevo se ero in tempo a presentare il progetto k ho fatto in 3 giorni in pratica.... cmq confermo che passato lo scritto l'orale è una cretinata vi chiedono un algoritmo di ordinamento a piacere, magari nn il bubble sort, e le cose che avete sbagliato allo scritto. poi complessita di tempo e spazio...tutto qui... --------- edit ---------- riguardo l'argomento del thread...l'esercizio iniziale io avrei cercato di evitare i 4 cicli FOR....i prof spesso ci tengono ad evitare sprechi...e con 4 FOR la complessità di tempo aumenta nn poco... avrei puntato sui classici 2 FOR per scorrere la matrice, anche perchè non c'è nulla da ordinare visto che è già ordinato, e tenermi traccia con variabili aggiuntive di dove si trovano le celle vuote....e scambiare queste con quelle piene successive....
__________________
| 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 : 05-07-2005 alle 14:13. |
|
![]() |
![]() |
![]() |
#27 | |
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
Quote:
Quindi in definitiva avrai Codice:
a=for h=1 to m b=for k= 1 to n if m(h,k)="" then m(h,k)="zzz" chiudi i for applichi l'algoritmo che ti ho postato nel primo reply applichi l'alogritmo che ti ho appena postato invertendo la condizione ![]()
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
![]() |
![]() |
![]() |
#28 | |
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
Quote:
Riguardo l'algoritmo postato: se l'ordinamento lo effettuase cambiando il verso cioè mettesse ">" avrebbe come primo elemento la parola che inizia con "z" e come ultimo elemento il blank. Potrebbe poi riapplicare lo stesso algoritmo mettendo la condizione "<" AND che l'elemento sia <> da blank.
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond Ultima modifica di motogpdesmo16 : 05-07-2005 alle 14:25. |
|
![]() |
![]() |
![]() |
#29 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
la matrice è ordinata...è solo che ci stanno degli spazi vuoti qua e la... quindi: 1) scorri la matrice 2) appena trovi uno spazio vuoto ti memorizzi le sue coordinare in variabili di appoggio 3) appena trovi un elemento nn vuolo lo scambi con quello vuoto di cui hai trovato le coordinate... vabbè è un po più contorto di così ma credo che almeno uno elimina i 4 FOR...
__________________
| 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 |
|
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
![]() ![]() ![]() **** Per il collega di università ****: Solo per la cronaca il progetto andava consegnato massimo una settimana prima dell'orale di programmazione B
__________________
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 |
![]() |
![]() |
![]() |
#31 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
![]() cmq riguardo il tuo esercizio si potrebbe anche fare in un altro modo...ad esempio con una matrice di appoggio....dai butto giù qualche riga... Codice:
procedure ordina; var i,j,r,c:integer; b:array[1..n,1..m] of string; begin r:=1; c:=1; for i:=1 to n do begin for j:=1 to m do begin if a[i,j]<>'' then begin b[r,c]:=a[i,j]; if c=m then begin c:=1; r:=r+1; end else c:=c+1; end; end; end; a:=b; 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 |
|
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
![]() ![]()
__________________
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 |
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Tentare di memorizzare le coordinate in cui c'è un blank non è una buona strada perchè:
-non sai quanti blank ci possono essere in una matrice -se ti metti a considerare matrici molto grandi diventa impossibile Tanto vale usare "questi 4 cicli for" che tanto vi impauriscono ![]()
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
![]() |
![]() |
![]() |
#34 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
diciamo che il casino viene quando ci sono più "blank" consecutivi...li si diventa un po contorto...
__________________
| 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 |
|
![]() |
![]() |
![]() |
#35 |
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Non so se usate il pascal borlandiano, quindi se in pratica usate Delphi come compilatore, se si, potete dar un'occhiata a queste funzioni che operano su stringhe, magari trovate qualcosa di utile:
http://www.delphibasics.co.uk/ByFunc...p?Main=Strings
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
![]() |
![]() |
![]() |
#36 | |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
Quote:
![]() ![]() ![]()
__________________
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 |
|
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
Facendo così funziona:
PROCEDURE ORDINA (VAR A: MATRICE; M,N: INTEGER); VAR I,J,R,C: INTEGER; AUX: STRING[5]; BEGIN For i:=1 to M do BEGIN FOR J:=1 TO N DO BEGIN FOR R:=1 TO M DO BEGIN FOR C:=1 TO N DO BEGIN IF A[R,C]=' ' THEN A[R,C]:='ZZZ'; if A[r,c]>A[i,j] then BEGIN aux:=A[r,c]; A[r,c]:=A[i,j]; A[i,j]:=aux; END; END; END; END; END; FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO IF A[I,J]='ZZZ' THEN A[I,J]:=' '; END; writeln; writeln; writeln('MATRICE A INSERITA'); for i:=1 to M do begin writeln; for j:=1 to N do write(A[i, j]:8); end; END; Che ne pensate? (anche se da voi viene) ![]()
__________________
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 |
![]() |
![]() |
![]() |
#38 |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
In più per renderlo un pò più bellino
![]()
__________________
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 |
![]() |
![]() |
![]() |
#39 |
Senior Member
Iscritto dal: Jun 2003
Città: Napoli prov
Messaggi: 3089
|
Ragazzi 30!
![]() Mi ha chiesto di quell'esercizio... ha detto che si faceva con solo 2 for... E per semplificarmi all'orale mi ha detto considera il caso che sia un vettore e non una matrice.. Molto più umano ![]()
__________________
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 |
![]() |
![]() |
![]() |
#40 | |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
![]() ![]() Quando ordiniamo un vettore possiamo ad esempio fare due cicli for così: Codice:
For i:=1 to Totala-1 do begin for j:=(i+1) to Totale do
__________________
| 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 |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:38.