Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-06-2011, 19:16   #1
mame83
Member
 
Iscritto dal: Nov 2010
Messaggi: 71
[C]utilizzo realloc

ciao a tutti ho un po di difficolta con la funzione realloc e vorrei iniziare da un caso base.
Dato un vettore creato in maniera dinamica in una funzione voglio reallocarlo da n*n elementi a
n+1*n+1 elementi e azzerarlo tutto.
Codice:
void RIEMPI(int n,int **vt)
{
  int i;
  *vt=(int*)malloc(sizeof(int)*n*n);
  for (i=0; i<n*n; i++)
    {
     printf("dammi l elemento %d : ",i);
     scanf("%d",&((*vt)[i]));
    }
}  
void INSERISCI_NODO(int n, int **vt)/*inseriamo un nodo isolato al grafo*/
{
 int i;
 
 *vt=(int*)realloc(*vt,(n+1*n+1));
 
 for (i=0; i<((n+1)*(n+1)); i++)
    (*vt)[i]=0; 
     
}
int main()
{
  int nodi,i;
  int *vet=NULL;
  printf("dammi il numero di nodi : \n");
  scanf("%d",&nodi);
  RIEMPI(nodi,&vet);
  INSERISCI_NODO(nodi,&vet);
  printf("valore del vettore e' : \n");
  for (i=0; i<(nodi+1)*(nodi+1); i++)
     printf("%d  valore %d \n",i,vet[i]);
  printf("\n");
  system("PAUSE");
}
se ad esempio n =2 in output mi azzera fino al elemento 8 ((n+1)*(n+1)-1)dopo va in loop. spero mi aiutate grazie in anticipo .
mame83 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2011, 20:05   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2787
Codice:
*vt=(int*)realloc(*vt,(n+1*n+1));
n+1*n+1 è uguale a n+n+1, devi mettere delle parentesi. Inoltre devi anche moltiplicare per sizeof(int), come hai fatto per la malloc.
E per azzerare più efficientemente la memoria puoi usare memset: LINK
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 11:27   #3
mame83
Member
 
Iscritto dal: Nov 2010
Messaggi: 71
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Codice:
*vt=(int*)realloc(*vt,(n+1*n+1));
n+1*n+1 è uguale a n+n+1, devi mettere delle parentesi. Inoltre devi anche moltiplicare per sizeof(int), come hai fatto per la malloc.
E per azzerare più efficientemente la memoria puoi usare memset: LINK
allora ho provato a mettere una variabile NUOVO=n+1*n+1 che mi restituisce 9 risultato esatto. funziona solo che non capisco perche bisogna moltiplicarlo per sizeof int
Codice:
void INSERISCI_NODO(int n, int **vt)/*inseriamo un nodo isolato al grafo*/
{
 int i;
 int nuovi=(n+1)*(n+1);
 printf("valore nuovi %d \n",nuovi);
 *vt=(int*)realloc(*vt,nuovi*sizeof(int));
 
 for (i=0; i<((n+1)*(n+1)); i++)
    (*vt)[i]=0; 
     
}
mame83 è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 12:21   #4
Kenger
Member
 
Iscritto dal: Aug 2005
Messaggi: 168
Perchè a te serve un'area di memoria in grado di contenere 9 elementi di tipo int, quindi 9 moltiplicato per la grandezza di un intero.
Kenger è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 12:40   #5
mame83
Member
 
Iscritto dal: Nov 2010
Messaggi: 71
ok grazie ancora per la soluzione
mame83 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
1,13€ al mese a testa, meno di un caff&e...
Dreame L10s Ultra Gen 2 a prezzo bomba s...
Arm batte i record, ma il titolo crolla:...
Switch 2 aumenterà di prezzo? Nin...
Valve rinvia Steam Machine, Frame e Cont...
OnePlus non si ferma: il Nord 6 è quasi ...
Mosca ha spiato i satelliti europei? Le ...
Oggi gli iPhone 17 e 17 Pro da 256GB son...
Il telescopio XRISM ha osservato i raggi...
Il telescopio spaziale James Webb ha sco...
Logitech G325: audio di fascia alta, wir...
Nessuna pubblicità su Claude, per...
Gli stipendi nel settore tech? Sono anco...
Problemi con la stampa 3D? Un prompt per...
Amazon Leo amplia i contratti con SpaceX...
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: 08:51.


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