|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
No, l'errore lo da in fase di compilazione
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Sep 2003
Città: Tradate
Messaggi: 396
|
A me lo compila perfettamente, puoi scrivere che errore ti da?
|
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Cmq a me da questa cosa qua: Codice:
/tmp/ccNcl3ea.o: In function `main': merda.c:(.text+0x140): undefined reference to `sqrt' collect2: ld returned 1 exit status
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#24 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Anche a me compila, il messaggio di errore significa che non trova la definizione di sqrt, ma dovrebbe farlo visto che hai incluso math.h
Come compili? Sei su windows o su linux (o altro...)? |
![]() |
![]() |
![]() |
#25 | ||
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
![]() Quote:
Codice:
gcc nomefile.c -lm -o nomefile Ma perchè succede questa cosa? Perchè si verifica questo problema?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
||
![]() |
![]() |
![]() |
#26 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#27 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
In teoria dovrebbe compilare senza opzioni dappertutto perché math è una libreria standard. gcc su linux linka senza problemi tutte le librerie standard ad eccezione di math, ma non so dirti perché
|
![]() |
![]() |
![]() |
#28 | ||
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
![]() Quote:
Ah ecco... Bho, se quando rompe le scatole basta mettere -lm per me non c'è problema!
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
||
![]() |
![]() |
![]() |
#29 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Quote:
gcc -c prova.c gcc prova.o |
|
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Ecco appunto!
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#31 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Qualcuno mi spiega come si usa Nemiver?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Rieccomi
Sto facendo un nuovo programma, nel quale, dato un vettore con dei numeri, devo farci varie operazioni sopra, tra cui ordinare i numeri in modo crescente.
Avevo intenzione di usare il metodo di ordinamento a bolle ( Bubble Sort ) che già avevo usato per VB, ma non riesco più a capirne il funzionamento e come trasferire il tutto in C... È un'ora che studio come farlo senza risultati ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Hai già scritto qualcosa? Sapresti descrivere l'algoritmo a parole?
|
![]() |
![]() |
![]() |
#34 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Il bubble sorting inzia il confronto a coppie, controlla se il primo è maggiore del secondo, se si esegue uno scambio di posizioni. Il controllo a coppie sarà: primo - secondo secondo - terzo terzo - quarto ... ... penultimo - ultimo Chiaramente, il valore che continua ad essere scambiato ( quello maggiore ) va a finire sempre più in fondo al vettore finchè non trova un numero più grande. Li il numero si ferma. Il ciclo riparte da 0 escludendo i valori già spostati ( che sono sicuramente già ordinati tra loro, in fondo al vettore e maggiori degli altri ). Credo di dover usare 3 variabili, un indice primario ( che è quello che uso per tutte le altre operazioni - somma, media, massimo, minimo ecc... ), un indice secondario ( che devo capire ancora come usarlo ) e un'altra variabile in cui tenere temporaneamnete il valore da scambiare. Credo di dover usare anche 2 for, uno dentro l'altro, ma non sono riuscito a capire quali sono le condizioni da dare al for ( la i da dove deve partire e dove si deve fermare? E la j [ secondo indice ]? )...
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#35 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
Ok, una volta descritto l'algoritmo a parole puoi concentrarti sull'implementazione seguendo ciò che hai scritto:
- devi fare il confronto a coppie tra un valore e il successivo: Codice:
if(array[i]>array[i+1]){ ...scambia... } Codice:
for(i=0;i<fine;i++){ ...effettui i confronti... } fine--; ...rifai il ciclo... |
![]() |
![]() |
![]() |
#36 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
L'inizializzazione va bene, la condizione di terminazione non proprio, prova a pensarci ancora su.
Fatto questo scrivere il ciclo più esterno è semplice no? Hai l'inizializzazione, la condizione di fine... non manca nulla |
![]() |
![]() |
![]() |
#38 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Non capisco cosa c'è che non quadra... Il ciclo deve andare avanti finchè "fine" non è più maggiore di i . Diminure "fine" fuori dal ciclo che senso ha? Se già aumento i di uno ad ogni passaggio
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#39 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2775
|
fine viene decrementato nel ciclo piu' esterno, non nello stesso in cui incrementi i... Quando ti chiedevo la condizione di terminazione mi riferivo a quella del ciclo piu' esterno, quella di quello piu' interno l'abbiamo gia' scritta
Codice:
for(i=0;i<fine;i++){ ...effettui i confronti... } fine--; ...rifai il ciclo... |
![]() |
![]() |
![]() |
#40 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
while ( fine > 1 ){ for....{} }
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:36.