Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-05-2006, 16:56   #1
blindwrite
Senior Member
 
Iscritto dal: Jan 2005
Città: Gières
Messaggi: 3617
[C] malloc liste strutture

voglio creare una lista che contenga nome, cognome e matricola degli studenti del mio corso
ho abbozzato qualcosa, ma credo ci sia qualche errore nella gestione dell'accesso allo studente successivo. riporto il pezzo secondo me incriminato:

Codice:
#include <stdio.h>
#include <stdlib.h>
#define n 32
typedef struct stud{
        char nome[n], cognome[n];
        int matricola;
        struct stud* next;
        }studente;


studente* memory()
{
  return((studente*) malloc (sizeof(studente)))   ;
}
          
int main ()
{
    int i,j;
    studente *nuovo;
    nuovo=memory();
    printf("inserisci nuovo studente\n");
    scanf("%s %s %d", nuovo->nome,nuovo->cognome,nuovo->matricola);
    nuovo=nuovo->next;
    nuovo->next=NULL;
    system("PAUSE");
}
l'errore compare quando setto il puntatore next=NULL.
il sistema non dovrebbe farlo in automatico?
sarei grato se qualcuno mi spiegasse cosa c'è di sbagliato.
garzie
__________________
Intel i5 4570 - Gigabyte Z87-HD3 - Antec KÜHLER 620 V4 - Corsair/Kingston 16GB DDR3 1600Mhz - KFA2 GTX 1070 EX @ EXOC bios - SanDisk Ultra II 480GB - EVGA 650GQ - Sony KDL-24EX320 - Logitech G502 & G933 - SteelSeries APEX M500 - W10 64bit
blindwrite è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2006, 17:00   #2
blindwrite
Senior Member
 
Iscritto dal: Jan 2005
Città: Gières
Messaggi: 3617
perchè invece questo codice funziona(posto tutto, ma mi interessa solo la parte simile a quella citata nel primo post)

Codice:
# include <stdio.h>
# include <string.h>
#include <stdlib.h>
# define M 30

typedef struct stud {
        char nome[M],matricola[7];
        char voto[4];
        struct stud *s;
        }studente;

studente* crea ()
{
    return((studente*)malloc (sizeof(studente)));
}

int main ()
{
    int j,k;
    char i[7];
    studente *nuovo,*primo;
    nuovo=crea();
    primo=nuovo;
    
    do{
       printf("\t\t Menu di selezione\nI. Nuovo studente\nC. Cancella studente\nV. Visualizza\nE. Esci\n");          
       printf("seleziona\n");
       scanf("%s",i);
       if(strcmp("I",i)==0){
                  nuovo->s=crea();
                  printf("inserisci dati studente:\n");
                  scanf("%s %s %s",nuovo->nome,nuovo->matricola,nuovo->voto);
                  nuovo=nuovo->s;
                  nuovo->s=NULL;
                  }
       if(strcmp("V",i)==0){
                  for(nuovo=primo;nuovo->s!=NULL;nuovo=nuovo->s){
                                                                 printf("%s\t %s\t %s\n", nuovo->nome,nuovo->matricola,nuovo->voto);
                                                                 }
                  }
       }while(i[0]!='E');
 system("PAUSE");   
}
__________________
Intel i5 4570 - Gigabyte Z87-HD3 - Antec KÜHLER 620 V4 - Corsair/Kingston 16GB DDR3 1600Mhz - KFA2 GTX 1070 EX @ EXOC bios - SanDisk Ultra II 480GB - EVGA 650GQ - Sony KDL-24EX320 - Logitech G502 & G933 - SteelSeries APEX M500 - W10 64bit
blindwrite è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 17:15   #3
blindwrite
Senior Member
 
Iscritto dal: Jan 2005
Città: Gières
Messaggi: 3617
ho capito cosa sbagliavo!
ora mi si pone il problema di togliere un'elemento dalla lista e di riconcatenarla
per il momento ho scritto questo:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define n 32
typedef struct stud{
        char nome[n], cognome[n];
        char matricola[7];
        struct stud *next;
        }studente;


studente* memory()
{
  return((studente*) malloc (sizeof(studente)))   ;
}
          
int main ()
{
    int k=0,z=0;
    char i[2],j[2],cancella[n];
    studente *nuovo ,*primo,*erase;
    nuovo=memory();
    primo=nuovo;
    printf("\t\tMenu\ni. inserisci\nv. visualizza\nc. cancella\ne. esci\n");
    do{
       printf("\nseleziona..\n");
       scanf("%s",i);
       if(i[0]=='i'){
                     nuovo->next=memory();
                     printf("inserisci nuovo studente\n");
                     scanf("%s %s %s", nuovo->nome,nuovo->cognome,nuovo->matricola);
                     nuovo=nuovo->next;
                     nuovo->next=NULL;
                     }
       if(i[0]=='v'){
                     printf("\n");
                     for(nuovo=primo;nuovo->next!=NULL;nuovo=nuovo->next){
                                      
                                      printf("%s %s %s\n", nuovo->nome,nuovo->cognome,nuovo->matricola);
                                      }
                     if(primo->next==NULL){
                                     printf("nulla da visualizzare");
                                     system("cls");
                                     }
                  }
       if(i[0]=='c'){
                     printf("1.cancella tutto\n2.cancella per nome\n");
                     scanf("%s",j);
                     if(j[0]=='1'){
                                   primo=primo->next;
                                   primo->next=NULL;
                                   }
                     if(j[0]=='2'){
                          printf("inserire nome da cancellare\n");
                          scanf("%s",cancella);
                     for(nuovo=primo;nuovo->next!=NULL;nuovo=nuovo->next);{
                                     if(strcmp(cancella,nuovo->nome)==0){
                                                                         erase=nuovo;
                                                                         }
                                                                          }
                                                           
                                   }
                     }
       }while(i[0]!='e');
    
    system("PAUSE");
}
erase adesso dovrebbe puntare all'elemento da togliere alla lista, ma come faccio a collegare il precedente al successivo?
nessuno sa darmi una mano?
__________________
Intel i5 4570 - Gigabyte Z87-HD3 - Antec KÜHLER 620 V4 - Corsair/Kingston 16GB DDR3 1600Mhz - KFA2 GTX 1070 EX @ EXOC bios - SanDisk Ultra II 480GB - EVGA 650GQ - Sony KDL-24EX320 - Logitech G502 & G933 - SteelSeries APEX M500 - W10 64bit
blindwrite è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Betelgeuse, la stella compagna Siwarha n...
Addio alle cartucce Nintendo? Il princip...
ChatGPT accelera: le immagini si generan...
MacBook Pro: tutta la gamma avrà ...
Uno sviluppatore ha dovuto hackerare il ...
Apple HomeView Ultra: in arrivo un robot...
Da smart display a videocamera di sicure...
Gli smartphone sono tutti dei 'padelloni...
Nexus Mods sceglie la strada della trasp...
Il futuro dell'emulazione Switch 2: Mari...
La mossa di Netflix contro lo scrolling ...
iPhone 18, torna al centro dei rumor: pi...
JBL Quantum Stream quasi a metà prezzo s...
Questa e-bike sembra una moto, ma costa ...
Deepfake sessuali su App Store e Google ...
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: 11:16.


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