Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-10-2007, 20:30   #1
spk
Senior Member
 
L'Avatar di spk
 
Iscritto dal: Jul 2002
Città: Hampstead, London
Messaggi: 2449
[C]help memoria che cambia il suo contenuto da sola

Salve a tutti, gia ringrazio anticipatamente per le risposte.

Il mio problema riguarda questo codice:
Codice:
#include <stdio.h>

struct disco
{ 
	int id;
	int sl;
	struct disco *succ;
}x={0, 1000000, NULL};
struct disco *primo=&x;

float totale=0;
int n_dischi=1;

void inserisci(struct disco *uno, struct disco *due, struct disco *nuovo)
{	
	if(nuovo->sl < due->sl)
	{
		nuovo->succ=due;
		uno->succ=nuovo;
	}
	else
	{
		if(due->succ == NULL)
		{
			due->succ=nuovo;
		}
		else
		{
			inserisci(due, due->succ, nuovo);
		}
	}
}

void inserisci_disco(struct disco *nuovo)
{
	if(nuovo->sl < primo->sl)
	{
		nuovo->succ=primo;
		primo=nuovo;
	}
	else
	{
		if(primo->succ == NULL)
		{
			primo->succ=nuovo;
		}
		else
		{
			inserisci(primo, primo->succ, nuovo);
		}
	}
}

void nuovo_file(int dfile)
{
	if (primo->sl >= dfile)
	{
		primo->sl -=	dfile;
		totale += dfile;
	}
	else
	{
		struct disco nuovo={n_dischi, (1000000-dfile), NULL};
		inserisci_disco(&nuovo);
		n_dischi++;
		totale += dfile;
//		primo.succ=&nuovo;
	}
}

void to_string(struct disco *d)
{
	if(d->succ == NULL)
	{
		printf("file size sum\t= %1.6f GB\ntotal disk\t= %d\n",(totale/1000000),n_dischi);
		printf("\t%d %d:\n",d->id,d->sl);
	}
	else
	{
		to_string(d->succ);
		printf("\t%d %d:\n",d->id,d->sl);
	}
}

int main()
{
	nuovo_file(500000);
	nuovo_file(300000);
	nuovo_file(700000);
	printf("pippo %i\n",primo->succ->id);
	printf("pippo %i\n",primo->succ->id);
	printf("pippo %i\n",primo->succ->id);
	//nuovo_file(710000);
	to_string(primo);
	return 0;
}
L'obiettivo era quello di creare una lista ordinata di dischi secondo "sl" (ovvero Spazio Libero). L'esercizio non presenta difficoltà fino a quando scopro che...non so nemmeno come definirlo...perdo dati.
Se notate nel main() eseguo 3 printf identiche tutte di seguito all'altra.
Ora quando mando in esecuzione invece di scrivermi 3 volte il valore esatto mi fa questo tipo di output:
Codice:
./a.out 
pippo 1
pippo -1079252524
pippo -1079252524
Segmentation fault (core dumped)
La stessa cosa succede ipotizzo anche al puntatore del "disco successivo" rendendomi perciò impossibile continuare il tutto.
Sapreste dirmi come risolvere il problema? Cosa sbaglio?
__________________
stabilmente instabile

Ultima modifica di spk : 29-10-2007 alle 20:33.
spk è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2007, 20:41   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Nella funzione nuovo_file(), la variabile struct disco nuovo è locale. Vuol dire che quando la funzione termina, quella variabile sparisce!
Certo .. l'indirizzo &nuovo l'hai passato a inserisci_disco() ma una volta che nuovo_file() termina e magari successivamente chiami altre funzioni, cosa ci sia sullo stack a quell'indirizzo .... non si sa....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2007, 20:47   #3
spk
Senior Member
 
L'Avatar di spk
 
Iscritto dal: Jul 2002
Città: Hampstead, London
Messaggi: 2449
Rapidissimo e con la precisione di un chirurgo, io ero convinto che fin quando c'era una qualcosa che puntava a un qualcos'altro quest'ultimo non veniva liberato.
Ho spostato "struct disco nuovo" e ora è accessibile.
Ora sembra funzionare (ancora non va tutto come dovrebbe ma almeno le variabili sono quello che dovrebbero essere)
grazie
__________________
stabilmente instabile
spk è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2007, 21:01   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da spk Guarda i messaggi
io ero convinto che fin quando c'era una qualcosa che puntava a un qualcos'altro quest'ultimo non veniva liberato.
C/C++ != Java/C#

Quote:
Originariamente inviato da spk Guarda i messaggi
Ho spostato "struct disco nuovo" e ora è accessibile.
Ora sembra funzionare (ancora non va tutto come dovrebbe ma almeno le variabili sono quello che dovrebbero essere)
Ti conviene gestire la allocazione del "nodo" in modo dinamico.
<qui> avevo fatto un esempio basilare di inserimento in una lista linkata.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2007, 22:17   #5
spk
Senior Member
 
L'Avatar di spk
 
Iscritto dal: Jul 2002
Città: Hampstead, London
Messaggi: 2449
Ho rifatto tutto usando il codice della pagina da te linkata come nocciolo da ampliare. Ho un po di difficoltà a capire dei passaggi, piu' che capire intuisco

Grazie di nuovo
__________________
stabilmente instabile
spk è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v