28/04/20 20:03
Ultimo
Si avrebbe dovuto scrivere:
if (num_dati_ord == 0) { // il vettore è vuoto, facile
vett[0] = nuovo_dato;
return;
If ok Then GOTO Avanza else GOTO Inizia
28/04/20 20:08
Iprogrammer
Ho provato a modificare il codice seguendo i vostri consigli ma non riesco a raggiungere la soluzione.
Il codice non è stato scritto da me e devo sistemarlo cercando di mantenere la struttura così com'è ora.
Qualcuno riuscirebbe a riscriverlo correttamente e postarlo?
So che potrebbe essere visto come uno sfruttamento ma è da giorni che ci provo senza ottenere risultati mi piacerebbe vedere una soluzione.
Ultima modifica effettuata da Iprogrammer 28/04/20 20:18
aaa
28/04/20 20:17
Ultimo
If ok Then GOTO Avanza else GOTO Inizia
28/04/20 20:50
Ultimo
Postato originariamente da Iprogrammer:
Ho provato a modificare il codice seguendo i vostri consigli ma non riesco a raggiungere la soluzione.
Il codice non è stato scritto da me e devo sistemarlo cercando di mantenere la struttura così com'è ora.
Qualcuno riuscirebbe a riscriverlo correttamente e postarlo?
So che potrebbe essere visto come uno sfruttamento ma è da giorni che ci provo senza ottenere risultati mi piacerebbe vedere una soluzione.
Ti abbiamo trovato degli errori, prova a correggerli.
If ok Then GOTO Avanza else GOTO Inizia
29/04/20 7:18
nessuno
Nessuno riscrive il programma per te. Correggi gli errori indicati e posta nuovamente il codice corretto indicando cosa non va.
Ultima modifica effettuata da nessuno 29/04/20 7:19
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
29/04/20 8:51
Goblin
Postato originariamente da nessuno:
Nessuno riscrive il programma per te. Correggi gli errori indicati e posta nuovamente il codice corretto indicando cosa non va.
Diciamo che oltre un ottimo informatico, in passato saresti stato anche il discepolo preferito della Sibilla.
G.
Ibis redibis non morieris in bello
29/04/20 11:02
Carlo
Ho dato un'altra occhiata, gli errori sembrano voluti, come se un professore avesse cambiato delle cose ad arte, e alcuni sono palesi, ecco l'elenco.
riga 21, per fare spazio bisogna contare all'indietro e il -1 su lung non ci va, altrimenti il for non viene eseguito:
sbagliata: for (int j = lung - 1; j > posizione; ++j)
corretta: for (int j = lung ; j > posizione; --j)
riga 27, il simbolo = serve per assegnazione, per il confronto ci vuole ==
sbagliata: if (num_dati_ord = 0)
corretta: if (num_dati_ord == 0)
riga 43, come detto da nessuno bisogna passare anche il numero degli elementi
incompleta: void ordina_dati(const int *dati_non_ordinati, int *dati_ordinati)
corretta: void ordina_dati(const int *dati_non_ordinati, int *dati_ordinati, int num_dati)
riga 45, non serve, va eliminata
riga 68, va aggiunto il numero degli elementi
incompleta: ordina_dati(dati_input, dati_ordinati);
corretta: ordina_dati(dati_input, dati_ordinati, num_dati);
Con queste modifiche il codice ordina correttamente le sequenze che hanno in prima posizione il numero maggiore della sequenza.
es. 12 1 9 7 2 4 (ordinata correttamente) risultato 1 2 4 7 9 12
es. 5 1 9 7 2 4 (la sequenza non viene ordinata dopo il valore 5) risultato 1 2 4 5 0 0
EDIT:
nel post delle 9:39 di Giovedì, 30/04/2020, codice completo funzionante
Ultima modifica effettuata da Carlo 30/04/20 8:33
in programmazione tutto è permesso
29/04/20 12:03
Carlo
Risolto anche l'ultimo bug, ora il codice funziona perfettamente, non lo posto, sentiamo Iprogrammer
Ultima modifica effettuata da Carlo 29/04/20 15:21
in programmazione tutto è permesso