# Fluttuazioni finanziare

**URL:** <https://forum.olinfo.it/t/fluttuazioni-finanziare/5327>\
**Category:** Aiuto\
**Created:** [2 Ottobre 2018, 3:21pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327 "2018-10-02T15:21:05Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Migliso](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@Migliso](https://forum.olinfo.it/u/Migliso)\
**Post date:** [2 Ottobre 2018, 3:21pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/1 "2018-10-02T15:21:05Z")

</div>

Stavo provando a risolvere il banale problema delle fluttuazioni finanziare della LUISS  
Sulle prove in locale funziona mentre quando submitto al server mi dice che è sbagliato persino l’output dell’esempio. Forse ho scritto male il processo di output

```
#include <stdio.h>
#include <assert.h>

int main() {
    int N;
    scanf("%d\n", &N);
    int Flut[N];
    int i = 0;
    while (scanf("%d\n",&Flut[i++]) > 0){}
    int max=0,min=100;
    for(int i=0;i<N;i++){
      if (Flut[i] < min){
        min = Flut[i];
      } else if (Flut[i] > max){
        max = Flut[i];
      }

```

e come output

```
printf("%d\n", max-min);
return 0;

```

oppure

```
FILE * fp;
fp = fopen ("output.txt", "w+");
fprintf(fp,"%d\n", max-min);
fclose(fp);
return 0;
```

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [2 Ottobre 2018, 4:45pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/2 "2018-10-02T16:45:46Z")

</div>

devi leggere i dati dal file “input.txt” mettendo, prima di usare la scanf, qualcosa tipo:  
FILE \* fpin;  
fpin = fopen (“input.txt”, “r”,stdin);

---

<div class="post-metadata">

**Author:** ![Migliso](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@Migliso](https://forum.olinfo.it/u/Migliso)\
**Post date:** [2 Ottobre 2018, 5:04pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/3 "2018-10-02T17:04:24Z")

</div>

ho provato ma mi non compila proprio dicendo che l’input non è stato dichiarato

```
azioni.c: In function 'main':
azioni.c:7:5: error: stray '\342' in program
     fpin = fopen (“input.txt”, “r”,stdin);
     ^
azioni.c:7:5: error: stray '\200' in program
azioni.c:7:5: error: stray '\234' in program
azioni.c:7:22: error: 'input' undeclared (first use in this function)
     fpin = fopen (“input.txt”, “r”,stdin);
                      ^
azioni.c:7:22: note: each undeclared identifier is reported only once for each function it appears in
azioni.c:7:5: error: stray '\342' in program
     fpin = fopen (“input.txt”, “r”,stdin);
     ^
azioni.c:7:5: error: stray '\200' in program
azioni.c:7:5: error: stray '\235' in program
azioni.c:7:5: error: stray '\342' in program
azioni.c:7:5: error: stray '\200' in program
azioni.c:7:5: error: stray '\234' in program
azioni.c:7:5: error: stray '\342' in program
azioni.c:7:5: error: stray '\200' in program
azioni.c:7:5: error: stray '\235' in program
azioni.c:7:39: error: 'r' undeclared (first use in this function)
     fpin = fopen (“
```

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [2 Ottobre 2018, 6:46pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/4 "2018-10-02T18:46:20Z")

</div>

Scusami  
prova con  
FILE \* fpin;  
fpin = freopen (“input.txt”, “r”,stdin);

---

<div class="post-metadata">

**Author:** ![Migliso](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@Migliso](https://forum.olinfo.it/u/Migliso)\
**Post date:** [2 Ottobre 2018, 7:29pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/5 "2018-10-02T19:29:13Z")

</div>

Purtroppo stesso errore 😣

---

<div class="post-metadata">

**Author:** ![zJack1342](https://forum.olinfo.it/user_avatar/forum.olinfo.it/zjack1342/32/711_2.png) [@zJack1342](https://forum.olinfo.it/u/zJack1342)\
**Post date:** [2 Ottobre 2018, 7:44pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/6 "2018-10-02T19:44:37Z")

</div>

Se vuoi leggere e scrivere usando la stdin e stdout nei problemi che ti specificano di leggere da file puoi usare le istruzioni

```
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout); 

```

Come suggerito da @v.bizzarri  
Inserendo queste due righe di codice il tuo algoritmo fa 50/100

```
#include <stdio.h>
#include <assert.h>

int main() {
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int N;
    scanf("%d\n", &N);
    int Flut[N];
    int i = 0;
    while (scanf("%d\n",&Flut[i++]) > 0){}
    int max=0,min=100;
    for(int i=0;i<N;i++){
      if (Flut[i] < min){
        min = Flut[i];
      } else if (Flut[i] > max){
        max = Flut[i];
      }
    }
    printf("%d\n", max-min);
    return 0;
}

```

Per ottenere il 100 su 100 devi prestare attenzione a ciò che ti richiede il problema :

```
interessa conoscere la differenza massima in valore assoluto tra due quotazioni consecutive
del titolo.

```

I due valori della sequenza devono essere consecutivi e non tra il “pseudo” minimo e il massimo della squenza.  
Ecco un caso di esempio che il tuo programma non risolve:

```
5
9
3
5
2
1

```

Output di questo caso è 6

---

<div class="post-metadata">

**Author:** ![Migliso](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@Migliso](https://forum.olinfo.it/u/Migliso)\
**Post date:** [2 Ottobre 2018, 7:54pm UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/7 "2018-10-02T19:54:40Z")

</div>

Grazie mille per il codice di input e per la dritta!

---

<div class="post-metadata">

**Author:** ![wil93](https://forum.olinfo.it/user_avatar/forum.olinfo.it/wil93/32/2862_2.png) [@wil93](https://forum.olinfo.it/u/wil93)\
**Post date:** [3 Ottobre 2018, 10:20am UTC](https://forum.olinfo.it/t/fluttuazioni-finanziare/5327/8 "2018-10-03T10:20:52Z")

</div>

Questi errori che hai postato sono dovuti all’uso di caratteri speciali (non-ASCII) nel codice.

Per esempio hai usato la virgoletta storta `“` invece di quella normale `"`
