- 112
- 13
- CPU
- i5-9400F
- Dissipatore
- NZXT Kraken M22 120mm
- Scheda Madre
- ASRock H310CM-HDV
- HDD
- WDC 1TB & SSD 480GB
- RAM
- G.Skill F4-2400C17-8GIS DDR4
- GPU
- NVIDIA GeForce GTX 1660 Super
- PSU
- Cooler Master MWE 600W
- Case
- Antec NX210
- Net
- Fibra/Rame 100 mega
Ciao ragazzi, mi sto scervellando nel cercare una soluzione a questo problema. In pratica la consegna di questa esercitazione chiedeva di leggere una lista da un file, metterla in una struttura dati adeguata ( lista concatenata ), e poi eliminare dalla lista tutte le occorrenze minori di 300, poi vabbe ristamparle su file in ordine decrescente, il mio problema ora è eliminare queste benedette occorrenze, ho scritto il seguente codice con l'intento di assegnare ad ogni precedente nodo quello successivo all'occorrenza minore di 300, solo che ogni volta che trova un occorrenza maggiore di 300 si blocca giustamente, non riesco ad andare avanti, qualche consiglio su come fare?
Vi fornisco la funzione e il file da cui leggere, così che vi rendiate conto.
Questo invece è il file di testo:
Ubuntu 230 27 4
Fedora 580 22 16
Manjaro 410 24 12
Mint 320 17 8
Antergos 470 28 13
Arch 290 21 7
CentOS 440 33 12
Kali 240 35 5
Vi fornisco la funzione e il file da cui leggere, così che vi rendiate conto.
C:
struct azienda
{
char NomeAzienda[DIM];
int dipendenti;
int dipartimenti;
int sedi;
struct azienda* next;
};
typedef struct azienda node;
struct azienda *eliminate_node(node** head, int min_limit)
{
while((*head) != NULL )
{
if (((*head) -> dipendenti) < min_limit)
{
node* tmp = (*head) -> next;
free((*head));
(*head) = tmp;
}
}
return (*head);
}
Questo invece è il file di testo:
Ubuntu 230 27 4
Fedora 580 22 16
Manjaro 410 24 12
Mint 320 17 8
Antergos 470 28 13
Arch 290 21 7
CentOS 440 33 12
Kali 240 35 5