Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
BOOX Go 6 Gen II porta per la prima volta il supporto allo stilo su un e-reader da 6 pollici, affiancando 3 GB di RAM al collaudato Snapdragon 665 e un design rivisto con scocca posteriore a costolature. Su carta la proposta è interessante, ma Android 11 fuori supporto, l'assenza di un alloggiamento per il pennino e un'autonomia ridotta rispetto agli e-reader tradizionali sono i compromessi da accettare
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-08-2013, 10:08   #1
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
Aiuto Risoluzione errori compilazione

ho scritto del codice in C però mi da molti errori che non riesco a risolvere, ho bisogno di una mano perchè non conosco molto bene il C.Ho messo gli errori in allegato come immagine.
il Codice:
Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


#define N0 [10] /* limite inferiore al numero di vertici dei digrafi da generare */
#define N  [10] /* limite superiore al numero di vertici dei digrafi da generare */
#define H0 [0]  /* limite inferiore al numero dei digrafi da generare */
#define H  [10] /* limite superiore al numero dei digrafi da generare */

/* variabili globali */
typedef int matrice [10][10] ; /* matrice adiacenza dei grafi */
matrice  m;

double p=0.0;
double supp=0.0;
double infp=0.0;




int main(void)
{   
      int i=0, k=0;
      int flag=0;
     int  n=N0;
    for (n=10;n<N;n++)
     {for(h=0;h<H;h=h+2)
       {p=0.5;
	    supp=1.0;
        infp=0.0;
        flag = 1;
        while(flag)
         { 
	      genera_matrice(m, n, p);;
         int  succ=genTPerm(0);
          if(succ==0){infp=p; p=0.5*(supp+p);}
          else{supp=p;p=0.5*(p+infp);}
          if(fabs(infp-supp)<.05){flag=0;}

/* fine ciclo while(flag) */

         }
        media[n]+=supp;
        media2[n]+=supp*supp;

/* fine ciclo for(h... */

       }
       devstandard[n]=sqrt(1/(H-1)*(media2[n]-media[n]*media[n]));
       media[n]=media[n]/(H-1);

/* fine ciclo for(n... */

      }
}
}
Immagini allegate
File Type: gif Immagine2.gif (13.0 KB, 11 visite)
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 10:37   #2
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


#define N0 [10] /* limite inferiore al numero di vertici dei digrafi da generare */
#define N  [10] /* limite superiore al numero di vertici dei digrafi da generare */
#define H0 [0]  /* limite inferiore al numero dei digrafi da generare */
#define H  [10] /* limite superiore al numero dei digrafi da generare */

/* variabili globali */
typedef int matrice [10][10] ; /* matrice adiacenza dei grafi */
matrice  m;

double p=supp=infp=0.0;


int main(void)
{   
      int i=0, k=0,k=0,flag=0;
    for (int n=10;n<N;n++)
     {for(int h=0;h<H;h=h+2)
       {p=0.5;
	    supp=1.0;
        infp=0.0;
        flag = 1;
        while(flag)
         { 
	      genera_matrice(m, n, p);;
         int  succ=genTPerm(0);
          if(succ==0){infp=p; p=0.5*(supp+p);}
          else{supp=p;p=0.5*(p+infp);}
          if(fabs(infp-supp)<.05){flag=0;}

/* fine ciclo while(flag) */

         }
        media[n]+=supp;
        media2[n]+=supp*supp;

/* fine ciclo for(h... */

       }
       devstandard[n]=sqrt(1/(H-1)*(media2[n]-media[n]*media[n]));
       media[n]=media[n]/(H-1);

/* fine ciclo for(n... */

      }
}
}
Ho corretto un paio di cose che ho notato.
Tanto per dire.... le cose in grassetto dove le definisci?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 14:37   #3
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Se hai letto sul tuo log degli errori, avrai notato che hai sbagliato tutti i #define
non si deve dichiarare un #define così:

#define pippo [10]

quando in realtà voglio che pippo sia un valore (in questo caso 10)
ma viene dichiarato molto più correttamenta così:

const int pippo=10;

vedrai che alla compilazione del progetto il compilatore ti dichiarerà
gli errori in maniera più lampante.
Poi ci sono anche delle variabili non dichiarate.
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb
AllerITA è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 16:21   #4
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
Aiuto Risoluzione errori compilazione

Come e dove dichiaro in questo caso media[n] e media2[n] ?
ho ricompilato il codice e mi da gli errori che vi ho allegato.
Immagini allegate
File Type: gif Immagine3.gif (5.1 KB, 5 visite)
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 16:55   #5
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Consiglio la lettura di un libro prima di ritoccare il codice.
Prima gattoni, poi cammini

Inviato dal mio Nexus 7 usando Tapatalk 4
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 27-08-2013 alle 17:06.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 08:21   #6
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
Aiuto Risoluzione errori compilazione Rispondi alla discussione

Ok,però ho bisogno di una mano perchè devo risolvere il tutto il prima possibile come le dichiaro ho provato con double media[0]=0; come variabile globale ma mi da lo stesso errore.
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 09:59   #7
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
Aiuto Risoluzione errori compilazione

Ho risolto con il codice però ora devo aggiungere il codice che contiene le funzioni genTperm() e genera_matrice() come unisco il tutto in un unico main??
Codice Principale:
Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


const int N0=10; /* limite inferiore al numero di vertici dei digrafi da generare */
const int N=10; /* limite superiore al numero di vertici dei digrafi da generare */
const int H0=0;  /* limite inferiore al numero dei digrafi da generare */
const int H=10; /* limite superiore al numero dei digrafi da generare */

/* variabili globali */
typedef int matrice [10][10] ; /* matrice adiacenza dei grafi */
matrice  m;

double p=0.0;
double supp=0.0;
double infp=0.0;

int main(void)
{   
      int i=0, k=0,flag=0;
      int n,h;
      int media[n];
      int media2[n];
      int devstandard[n];
    for ( n=10;n<N;n++){
     for( h=0;h<H;h=h+2){
       p=0.5;
	    supp=1.0;
        infp=0.0;
        flag = 1;
        while(flag)
         { 
	      genera_matrice(m, n, p);
         int  succ=genTPerm(0);
          if(succ==0){infp=p; p=0.5*(supp+p);}
          else{supp=p;p=0.5*(p+infp);}
          if(fabs(infp-supp)<.05){flag=0;}

/* fine ciclo while(flag) */

         }
          
        media[n]+=supp;
        media2[n]+=supp*supp;

/* fine ciclo for(h... */

       }
       devstandard[n]=sqrt(1/(H-1)*(media2[n]-media[n]*media[n]));
       media[n]=media[n]/(H-1);

/* fine ciclo for(n... */

      }
}

Codice da Unire:
Codice:
#include <assert.h> 
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define N 10
#define N0 [10] /* limite inferiore al numero di vertici dei digrafi da generare */
#define N2  [10] /* limite superiore al numero di vertici dei digrafi da generare */
#define H0 [0]  /* limite inferiore al numero dei digrafi da generare */
#define H  [10] /* limite superiore al numero dei digrafi da generare */
typedef int matrice[N][N];





/*
VARIABILI GLOBALI:
  n 
  nChr = numero di permutazioni alcolate (inizialmente 0)
  Chr = permutazione 
  Chr1 = permutazione inversa (Chr1[i] = n equivale ad elemento di permutazione non definito
  (se Chr[i]=j, allora Chr1[i]=j)
  Succ = risposta della procedura genTPerm (inizialmente 1)
*/

int Chr[100];  /* vettore soluzione (permutazione) */
int Chr1[100]; /* soluzione inversa */
int nChr=0;    /* numero soluzioni costruite dalla procedura esaustiva */
int Succ=1;    /* flag che indica il successo della procedura esaustiva */
int n=3;	       /* numero vertici digrafi */
double supp=0.0;
double infp=0.0;
/* procedura di inizializzazione dei vettori soluzione (Chr[] e Chr1[]) */

void  genera_matrice(matrice  m, size_t n, double p)  {
    size_t  i = 0,  j = 0;
    assert(n <= N);
    srand((unsigned)  time(NULL));
    for  (i = 0;  i < n; i++) { 
        for  (j = 0;  j < n; j++) { m[i][j]  =  rand() < p * RAND_MAX ? 1 : 0; }
    }
}

void  stampa_matrice(matrice  m, size_t n)  {
    size_t  i = 0,  j = 0;
    assert(n <= N);
    for (i = 0; i < n; i++)  { 
        for  (j = 0; j < n; j++) { printf("%d  ",  m[i][j]); }
        printf("\n");
    }
}
















void initChr()
 {
  int i=0;

  for(i=0;i<n;i++)
   { 
       Chr[i]=n;
       Chr1[i]=n;
       
   }
 }

/* procedura di stampa di Chr[] */

void stampaVett()
 {
  int i=0;

  for(i=0;i<n;i++)
   printf ("%d ",Chr[i]);
  printf("\n");
 }

/* procedura esaustiva di calcolo soluzioni */

void genTPerm(int k)
 {
  int i=0;
  
  if(k>(n-1))
   {
    stampaVett();

    /* verifica se la soluzione trovata è un ciclo: se si succ=1 e termina genTPerm */
    
    nChr++;
    
    if(nChr>n)
     {
     
     Succ=0;
     return  ;
  
        
     }
   }
  else
   for(i=0;i<n;i++)
    {if(Chr1[i]==n)
      {Chr[k]=i;
       Chr1[i]=k;
       genTPerm(k+1);
       Chr1[i]=n;
       Chr[k]=n;
      
      }
    }
 }

/* programma principale */

int  main(void)
 {double p = 0.5;
  size_t n = 5;
 int flag=0;
 int matrice[N][N] = { 0 };

 int i=0, k=0;
/* inizializza variabili, vettori e strutture dati */
  nChr = 0;
  initChr(); /* procedura che inizializza Chr e Chr1 */
  genTPerm(0);
 

 
 
 
 
 
  }
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 18:46   #8
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Studia bene l'istruzione pre-processore "#include" e come settare l'ambiente di sviluppo per includere altri sorgenti nel compilato .
Sono d'accordo con chi ti ha indicato di leggere un buon manuale sul C. Però io non saprei cosa indicarti lascio a chi è più informato di me sulle ultime novità su questo argomento, questo compito .
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb
AllerITA è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 19:07   #9
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da AllerITA Guarda i messaggi
Studia bene l'istruzione pre-processore "#include" e come settare l'ambiente di sviluppo per includere altri sorgenti nel compilato .
Sono d'accordo con chi ti ha indicato di leggere un buon manuale sul C. Però io non saprei cosa indicarti lascio a chi è più informato di me sulle ultime novità su questo argomento, questo compito .
K&R
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2013, 09:15   #10
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
Aiuto Risoluzione errori compilazione

Ho unito i 2 main in un unico programma viene eseguito il tutto però non mi produce risultati.



Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


const int N0=10; /* limite inferiore al numero di vertici dei digrafi da generare */
const int N=10; /* limite superiore al numero di vertici dei digrafi da generare */
const int H0=0;  /* limite inferiore al numero dei digrafi da generare */
const int H=10; /* limite superiore al numero dei digrafi da generare */

/* variabili globali */
typedef int matrice [10][10] ; /* matrice adiacenza dei grafi */
matrice  m;
int Chr[100];  /* vettore soluzione (permutazione) */
int Chr1[100]; /* soluzione inversa */
int nChr=0;    /* numero soluzioni costruite dalla procedura esaustiva */
int Succ=1;    /* flag che indica il successo della procedura esaustiva */
int n=3;	       /* numero vertici digrafi */
double p=0.0;
double supp=0.0;
double infp=0.0;


void  genera_matrice(matrice  m, size_t n, double p)  {
    size_t  i = 0,  j = 0;
   
    srand((unsigned)  time(NULL));
    for  (i = 0;  i < n; i++) {
        for  (j = 0;  j < n; j++) { m[i][j]  =  rand() < p * RAND_MAX ? 1 : 0; }
    }
}

void  stampa_matrice(matrice  m, size_t n)  {
    size_t  i = 0,  j = 0;
    
    for (i = 0; i < n; i++)  {
        for  (j = 0; j < n; j++) { printf("%d  ",  m[i][j]); }
        printf("\n");
    }
}


void initChr()
 {
  int i=0;

  for(i=0;i<n;i++)
   {
       Chr[i]=n;
       Chr1[i]=n;

   }
 }

/* procedura di stampa di Chr[] */

void stampaVett()
 {
  int i=0;

  for(i=0;i<n;i++)
   printf ("%d ",Chr[i]);
  printf("\n");
 }

/* procedura esaustiva di calcolo soluzioni */
/* ho modificato da void a int per errori*/
int genTPerm(int k)
 {
  int i=0;

  if(k>(n-1))
   {
    stampaVett();

    /* verifica se la soluzione trovata è un ciclo: se si succ=1 e termina genTPerm */

    nChr++;

    if(nChr>n)
     {

     Succ=0;
     return  ;


     }
   }
  else
   for(i=0;i<n;i++)
    {if(Chr1[i]==n)
      {Chr[k]=i;
       Chr1[i]=k;
       genTPerm(k+1);
       Chr1[i]=n;
       Chr[k]=n;

      }
    }
 }




int main(void)
{   
      int i=0, k=0,flag=0;
      double p = 0.5;
      nChr = 0;
      int n,h;
      int media[n];
      int media2[n];
      int devstandard[n];
       initChr();
      genTPerm(0);
    for ( n=10;n<N;n++){
     for( h=0;h<H;h=h+2){
       p=0.5;
	    supp=1.0;
        infp=0.0;
        flag = 1;
        while(flag)
         { 
	      genera_matrice(m, n, p);
         int  succ=genTPerm(0);
          if(succ==0){infp=p; p=0.5*(supp+p);}
          else{supp=p;p=0.5*(p+infp);}
          if(fabs(infp-supp)<.05){flag=0;}

/* fine ciclo while(flag) */

         }
          
        media[n]+=supp;
        media2[n]+=supp*supp;

/* fine ciclo for(h... */

       }
       devstandard[n]=sqrt(1/(H-1)*(media2[n]-media[n]*media[n]));
       media[n]=media[n]/(H-1);

/* fine ciclo for(n... */

      }
}
mikael_c è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea Oltre il contante e le crypto: tutto sull'Euro D...
Batterie a terra per Varta, bancarotta v...
Elon Musk: l'intelligenza artificiale su...
Ryzen 7 9800HX3D: il miglior processore ...
Google porta Gemini Live sui vecchissimi...
Corsair Platform:4 in offerta: la scriva...
Il creatore di Disagea sull'addio dei gi...
Fastweb + Vodafone entra nello SmartCity...
AI Act europeo: dal 2 agosto partono i n...
Da 1,3 a 10 miliardi in due mesi: chi è ...
Schede video RTX: NVIDIA comunica nuovi ...
GTA 6, i 60 fps stabili potrebbero esser...
Questa Smart TV QLED da 40 pollici con H...
Ring in sconto fino al 57%: videocitofon...
Pubblicità su Windows con i monit...
Azioni sul PC e coding solo chiedendo: O...
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: 17:34.


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