Problema Array
Regole della sezione
In questa sezione possono inserire nuove discussioni solo coloro che fanno parte del livello "Prode Principiante" e che non hanno superato i 100 messaggi, tutti gli altri possono comunque rispondere regolarmente. Se si fa parte di questo livello e si è registrati al forum prima del 24 aprile 2012, data del passaggio al nuovo forum, consultare questa discussione.
Come usare Ubuntu • Primi passi su Ubuntu
Amministrazione del sistema • Comandi di base • Installare programmi • Log di sistema • Riga di comando • Sudo
In questa sezione possono inserire nuove discussioni solo coloro che fanno parte del livello "Prode Principiante" e che non hanno superato i 100 messaggi, tutti gli altri possono comunque rispondere regolarmente. Se si fa parte di questo livello e si è registrati al forum prima del 24 aprile 2012, data del passaggio al nuovo forum, consultare questa discussione.
-
Caos88
- Prode Principiante
- Messaggi: 6
- Iscrizione: sabato 24 agosto 2013, 15:02
- Desktop: ubuntu
- Distribuzione: Ububtu 13.04
Problema Array
Salve sono nuova del forum e avrei un piccolo problema che, purtroppo non riesco a risolvere .
In pratica ho un file con degli elementi numerici e dovrei fare la somma delle differenze tra elementi successivi; mi spiego meglio :
supponiamo che nel file ci siano questi valori
1
5
6
100
dovrei sviluppare uno script che faccia : (5-1)+(6-5)+(100-6).
ho provato a scivere questo codice :
cat startingPoints.txt | while read Time
do
array=$dato
i=$(($i+1))
done && i=$i A=array
n=i=$(($i-1))
for((j=1;j<=$(($n-1));j++))
do
somma=$somma+$(($(array[j+1])-$(array[j])))
echo "Cwin = $CWIN ; Somma = $somma"
done
in pratica ho salvato i dati in un array e poi ho creato un ciclo for che scorresse l'array e valutasse queste differenze.
Cio che mi chiedo : non c'è un modo più PULITO per farlo ?
Vi ringrazio in anticipo.
In pratica ho un file con degli elementi numerici e dovrei fare la somma delle differenze tra elementi successivi; mi spiego meglio :
supponiamo che nel file ci siano questi valori
1
5
6
100
dovrei sviluppare uno script che faccia : (5-1)+(6-5)+(100-6).
ho provato a scivere questo codice :
cat startingPoints.txt | while read Time
do
array=$dato
i=$(($i+1))
done && i=$i A=array
n=i=$(($i-1))
for((j=1;j<=$(($n-1));j++))
do
somma=$somma+$(($(array[j+1])-$(array[j])))
echo "Cwin = $CWIN ; Somma = $somma"
done
in pratica ho salvato i dati in un array e poi ho creato un ciclo for che scorresse l'array e valutasse queste differenze.
Cio che mi chiedo : non c'è un modo più PULITO per farlo ?
Vi ringrazio in anticipo.
Ultima modifica di Caos88 il giovedì 5 dicembre 2013, 10:04, modificato 2 volte in totale.
-
dadexix86
- Tenace Tecnocrate

- Messaggi: 16364
- Iscrizione: domenica 22 marzo 2009, 19:58
- Desktop: Unity
- Distribuzione: Ubuntu 18.04 x86_64
- Località: Paris, France
Re: Problema Array
Premessa: conviene utilizzare il tag [code][/code] per scrivere il codice, che così è illeggibile 
Entrando nel merito, se sommi un elemento e al passo dopo lo sottrai, si cancellano.
Nel tuo esempio devi fare
che riordino (la somma commuta) come
Che fa quindi (questo è vero in generale) basta che fai l'ultimo meno il primo :P
Entrando nel merito, se sommi un elemento e al passo dopo lo sottrai, si cancellano.
Nel tuo esempio devi fare
Codice: Seleziona tutto
5-1 + 6-5 + 100-6Codice: Seleziona tutto
-1+5-5+6-6+100Codice: Seleziona tutto
100-1=99Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
-
Caos88
- Prode Principiante
- Messaggi: 6
- Iscrizione: sabato 24 agosto 2013, 15:02
- Desktop: ubuntu
- Distribuzione: Ububtu 13.04
Re: Problema Array
Uh Grazie mille non ci avevo pensato
))
Posso chiederti un'altra cosa?
Posso chiederti un'altra cosa?
-
dadexix86
- Tenace Tecnocrate

- Messaggi: 16364
- Iscrizione: domenica 22 marzo 2009, 19:58
- Desktop: Unity
- Distribuzione: Ubuntu 18.04 x86_64
- Località: Paris, France
Re: Problema Array
Sì, certo 
Ma se non è legata alla domanda metti [Risolto] nel titolo del primo post e aprine un'altra
Ma se non è legata alla domanda metti [Risolto] nel titolo del primo post e aprine un'altra
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
-
Caos88
- Prode Principiante
- Messaggi: 6
- Iscrizione: sabato 24 agosto 2013, 15:02
- Desktop: ubuntu
- Distribuzione: Ububtu 13.04
Re: Problema Array
oK mi sa che ho cantato vittoria troppo presto ;(
purtroppo per come sono i miei dati non vale la regola :
( S2-S1)+(S3-S2)+ ... + (Sn - Sn-1 ) = Sn - S1
in quanto potrei avere una situazione del genere :
(S4-S1)+(S6-S5)+(S8-S6)
e quindi non valgono le semplificazioni .
I dati di cui devo fare questa somma di differenze si trovano in un file strutturato per colonne , tipo
PRIMA SECONDA TERZA
e la mia colonna di interesse è la PRIMA.
Potreste aiutarmi ? Grazie in anticipo
purtroppo per come sono i miei dati non vale la regola :
( S2-S1)+(S3-S2)+ ... + (Sn - Sn-1 ) = Sn - S1
in quanto potrei avere una situazione del genere :
(S4-S1)+(S6-S5)+(S8-S6)
e quindi non valgono le semplificazioni .
I dati di cui devo fare questa somma di differenze si trovano in un file strutturato per colonne , tipo
PRIMA SECONDA TERZA
e la mia colonna di interesse è la PRIMA.
Potreste aiutarmi ? Grazie in anticipo
-
1001001
- Entusiasta Emergente

- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: Problema Array
Ciao! Potresti postare un file di esempio e chiarire come viene deciso quali elementi sommare? Voglio dire, in quali casi hai la situazione ( S2-S1)+(S3-S2)+ ... + (Sn - Sn-1 ) e in quali no? Ad esempio la situazione (S4-S1)+(S6-S5)+(S8-S6) quando si verifica?
"I find your lack of faith disturbing."
-
Caos88
- Prode Principiante
- Messaggi: 6
- Iscrizione: sabato 24 agosto 2013, 15:02
- Desktop: ubuntu
- Distribuzione: Ububtu 13.04
Re: Problema Array
Purtroppo questo non lo so perchè mi è stato gia fornito il file con questi dati e di questi devo fare solo la somma delle differenze tutto qui.
-
dadexix86
- Tenace Tecnocrate

- Messaggi: 16364
- Iscrizione: domenica 22 marzo 2009, 19:58
- Desktop: Unity
- Distribuzione: Ubuntu 18.04 x86_64
- Località: Paris, France
Re: Problema Array
Ok, ma con quale logica devi sommare o sottrarre le varie righe?
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
- GjMan78
- Rampante Reduce

- Messaggi: 5919
- Iscrizione: mercoledì 22 novembre 2006, 19:15
- Desktop: KdePlasma
- Distribuzione: EndeavourOS
- Sesso: Maschile
- Località: ~/Italia/Lazio/Viterbo/
Re: Problema Array
Se ho capito quello che devi fare, cioè ottenere la somma delle differenze di due valori consecutivi
la soluzione più logica è quella che hai postato tu stesso nel primo post.
Codice: Seleziona tutto
SOMMA = ( S2-S1)+(S3-S2)+(S4-S3) ... + (Sn - Sn-1 )MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti