Problema con un confronto fra variabili dello struct in codice C

Ashima

Nuovo Utente
3
0
Salve a tutti, mentre stavo testando la parte del codice che riguardava la classifica dei tempi in un gioco mi è comparso l'errore:
" [Error] subscripted value is neither array nor pointer nor vector "
Il codice è seguente:
1526986981684.png
Errore compare in tutte le righe del codice in cui uso le variabili dello struct;
Mentre il codice dello struct è il seguente:

1526986812358.png
Scusate ma ho appena cominciato ad imparare il linguaggio C e chiedevo se qualcuno mi poteva dare una mano. o anche qualche consiglio.
 

_Achille

Utente Èlite
3,067
725
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
HDD
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
GPU
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
PSU
RM550X
Case
NZXT S340
Periferiche
Anne Pro 2, Razer Abyssus
OS
Windows 10 Pro
C’è un problema per quanto riguarda il passaggio del vettore come parametro.
Ah e comunque il C mette già a disposizione algoritmi d’ordinamento, se ti interessa.
 
  • Mi piace
Reazioni: Ashima

Andretti60

Utente Èlite
6,440
5,091
Altro errore, la dichiarazione della variabile Temp (guarda bene, non deve essere un intero).

Le variabili sec1 e sec2 sono dichiarate e non usate, un compilatore che permette di assegnare livelli di avvertimento te lo farebbe notare.

In genere quando si crea una funzione la si crea in modo che funzioni in molte occasioni, come la hai dichiarata tu ordina solo vettori di lunghezza 10. Una dichiarazione più formale avrebbe un secondo parametro, la lunghezza del vettore.
 
  • Mi piace
Reazioni: Ashima e _Achille

_Achille

Utente Èlite
3,067
725
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
HDD
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
GPU
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
PSU
RM550X
Case
NZXT S340
Periferiche
Anne Pro 2, Razer Abyssus
OS
Windows 10 Pro
Aggiungo che pure la struttura è sbagliata. Il tempo (la variabile secondi) deve essere di tipo double o float e non puoi inizializzare così il vettore. Dovresti al massimo:
C:
struct posizione {
    char nome[31];
    double secondi;
};
struct posizione persone[2] = { { "Marco", 3.134 }, { "Matteo", 3.1902 } };
 

Ashima

Nuovo Utente
3
0
Okay Grazie a tutti per l'aiuto, ho cominciato in questi giorni ad usare le struct e non è che ci ho capito molto...
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!